Может ли человек подключиться к классу со свойством объекта в Protege?

Есть ли способ индивидуальный (экземпляр) подключиться к классу со свойством объекта? Например, индивидуальным в этом случае является имя модуля: веб-программирование. Свойство объекта: isClassified. Класс: Сеть.

Я попытался определить веб-программирование как класс, и он работает, потому что домен и диапазон оба класса. То же самое происходит, если я определяю как веб-программирование, так и сеть как отдельные лица, это работает. Если домен является классом, а диапазон индивидуален, он все еще работает. Но что, если домен индивидуален, а диапазон - класс? Есть ли способ, которым я могу связать его со свойством объекта: isClassifiedIn?

2 ответа

Решение

Protégé - редактор OWL 2 DL (начиная с версии 4). В OWL 2 DL индивид не может быть классом, а свойство объекта должно относиться только к индивидуумам. То, что вы хотите, не может быть выражено в том виде, в каком вы его сформулируете. Тем не менее, вы можете сделать две вещи:

  1. используйте свойство аннотации вместо свойства объекта. Это не может быть идеальным, потому что аргумент OWL DL должен игнорировать свойства аннотации в процессе аргументации. Это всего лишь аннотации, похожие на комментарии в программном коде.
  2. связать человека с другим человеком, который имеет то же имя, что и класс. Позвольте мне подробно рассказать об этом.

В OWL 2 DL, хотя отдельные лица не могут быть классами, отдельные имена могут быть именами классов одновременно. Например, можно сказать (в синтаксисе Turtle):

ex:Module  a  owl:Class .
ex:Network  a  owl:Class, owl:Thing .
ex:isClassified  a  owl:ObjectProperty .
ex:webProgramming  a  ex:Module;
    ex:isClassified  ex:Network .

Обратите внимание, что ex:webProgramming здесь не относится к классу. Это связано с человеком типа owl:Thing, Этот человек априори не имеет ничего общего с классом, названным ex:Network, хотя он имеет то же имя. Это называется "накалывание" в спецификации OWL 2.

Существует третий способ: изменить модель знаний таким образом, чтобы вы не сталкивались с этой проблемой. Я не знаю вашу онтологию, но она может указывать на антипаттерн, которого вам следует избегать.

Вы должны использовать "значение". Напишите свое собственное выражение, используя редактор выражений класса. Выберите класс, чем написать: "свойство" значение "индивидуальный"

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