Несколько доменов / диапазонов для свойства объекта
В настоящее время я пытаюсь разработать онтологию, но я новичок в этой области. Моя онтология будет иметь классы и свойства объекта. Ни один человек не будет доступен.
У меня есть свойство объекта под названием Has
, Это свойство будет иметь несколько доменов и диапазонов. Например:
Студент (домен класса) имеет (свойство объекта) отдел (диапазон классов)
Мать (домен класса) имеет (свойство объекта) дочерний элемент (диапазон классов)
Организация (домен класса) имеет отдел (свойство объекта) (диапазон классов)
Я также ожидаю больше доменов и диапазонов для Has
свойство будет добавлено. Я ожидаю иметь много свойств объекта, которые будут иметь несколько доменов и диапазонов.
Как написать код Java для хранения такой информации в файле OWL? Кроме того, я хотел бы знать:
Как сделать запрос, чтобы узнать, сколько доменов и диапазонов имеет конкретное свойство объекта и какой домен соответствует какому диапазону?
Как написать код для поиска, имеет ли свойство объекта конкретную тройку? Например, Has (School, Department)
, Эта тройка означает, что в школе есть отдел. Если эта тройка недоступна в онтологии, мне нужно вставить ее в онтологию.
1 ответ
Объявление доменов и диапазонов с помощью API OWL выполняется путем создания объектов OWLObjectPropertyDomainAxiom и OWLObjectPropertyRangeAxiom.
Однако из вашего описания проблемы я не думаю, что несколько доменов и диапазонов для одного свойства являются лучшим решением для моделирования. Вероятно, лучше выбрать несколько свойств объекта со своим собственным доменом и диапазоном, используя несколько свойств только при необходимости.
Для примеров смотрите https://github.com/owlcs/owlapi/wiki/Documentation