2016-10-05 3 views
1

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

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

ответ

1

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.

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

+0

спасибо за ответ, извините, что я должен ответить слишком поздно – Gan