Ограничение онтологии свойства объекта в Протеже

Я создал онтологию в Protege 5.2, и теперь я пытаюсь правильно создать свойства объекта моих соответствующих классов. Вот фрагмент моей UML-диаграммы, в соответствии с которой я построил свою онтологию: Фрагмент моей онтологии

Что касается свойства объекта isLocated, они характеризуются следующим образом: если узел X имеет значение SITE Z, и такое же значение Z появляется в SITEIST местоположения Y, тогда узел X находится в местоположении Y.

Должен ли я изучить правила SWRL или есть какой-то способ кодировать это без необходимости идти туда?

Спасибо, ребята, заранее!

1 ответ

Решение

В SWRL вы можете добиться этого просто:

locationHasSiteIst(?l, ?s) ^ nodeHasSite(?n, ?s) -> nodeLocatedInLocation(?n, ?l)

Если вы хотите сделать это в OWL, вам нужно сделать locationHasSiteIst а также nodeHasSite как свойства объекта, и Site в качестве класса вместо типа данных вы можете использовать цепочку и включение свойств объекта в Protege следующим образом:

nodeHasSite o inverse(locationHasSiteIst) SubPropertyOf nodeLocatedInLocation

Последняя строка означает, что если узел n1 находится в site1и местоположение l1 находится в s1 ну тогда n1 находится в l1,

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