Резонер не работает с FUSEKI / OWLIM при загрузке онтологий с помощью OWL2 Property Chain
Я хотел использовать Property Chain в OWL и получить вывод, работающий в FUSEKI / OWLIM, но не смог заставить вывод работать, используя цепочку свойств OWL2.
Я использовал инструмент Protege для определения онтологии. Файл онтологии содержит следующую цепочку свойств для свойства объекта hasGrandParent
- hasParent • hasParent → hasGrandParent
При включении аргумента в Protege, вывод работает нормально и показывает связь (отношение hasGrandParent), но при загрузке того же файла онтологии в FUSEKI / OWLIM вывод не работает. Я уверен, что что-то упустил с конфигурацией.
Может ли кто-нибудь, пожалуйста, помогите получить эту работу.
1 ответ
GraphDB (OWLIM) поддерживает это начиная с версии 4. owl:propertyChainAxiom
Правило https://www.w3.org/TR/owl2-profiles/ реализовано так:
Id: prp_spo2_1
p <owl:propertyChainAxiom> pc
start pc last [Context <onto:_checkChain>]
----------------------------
start p last
Id: prp_spo2_2
pc <rdf:first> p
pc <rdf:rest> t [Constraint t != <rdf:nil>]
start p next
next t last [Context <onto:_checkChain>]
----------------------------
start pc last [Context <onto:_checkChain>]
Id: prp_spo2_3
pc <rdf:first> p
pc <rdf:rest> <rdf:nil>
start p last
----------------------------
start pc last [Context <onto:_checkChain>]
Однако вы можете реализовать аналогичную функциональность быстрее, если ограничитесь цепочками длины 2. См. Здесь: http://vladimiralexiev.github.io/pres/extending-owl2/