Несколько доменов / диапазонов для свойства объекта

В настоящее время я пытаюсь разработать онтологию, но я новичок в этой области. Моя онтология будет иметь классы и свойства объекта. Ни один человек не будет доступен.

У меня есть свойство объекта под названием Has, Это свойство будет иметь несколько доменов и диапазонов. Например:

Студент (домен класса) имеет (свойство объекта) отдел (диапазон классов)

Мать (домен класса) имеет (свойство объекта) дочерний элемент (диапазон классов)

Организация (домен класса) имеет отдел (свойство объекта) (диапазон классов)

Я также ожидаю больше доменов и диапазонов для Has свойство будет добавлено. Я ожидаю иметь много свойств объекта, которые будут иметь несколько доменов и диапазонов.

Как написать код Java для хранения такой информации в файле OWL? Кроме того, я хотел бы знать:

Как сделать запрос, чтобы узнать, сколько доменов и диапазонов имеет конкретное свойство объекта и какой домен соответствует какому диапазону?

Как написать код для поиска, имеет ли свойство объекта конкретную тройку? Например, Has (School, Department), Эта тройка означает, что в школе есть отдел. Если эта тройка недоступна в онтологии, мне нужно вставить ее в онтологию.

1 ответ

Объявление доменов и диапазонов с помощью API OWL выполняется путем создания объектов OWLObjectPropertyDomainAxiom и OWLObjectPropertyRangeAxiom.

Однако из вашего описания проблемы я не думаю, что несколько доменов и диапазонов для одного свойства являются лучшим решением для моделирования. Вероятно, лучше выбрать несколько свойств объекта со своим собственным доменом и диапазоном, используя несколько свойств только при необходимости.

Для примеров смотрите https://github.com/owlcs/owlapi/wiki/Documentation

Другие вопросы по тегам