СуперСвойство Цепочки

Представьте, что даны следующие два отношения:
а (х, у)
б (у, г)
мы могли бы получить это:
с (х, г)
тогда это можно явно выразить в Protégé, добавив SuperProperty Of (Chain) для свойства c, например:
aob SubPropertyOf c

С этим выраженным, представьте, что мы знаем только:
а (х, у)
с (х, г)
как мы можем явно выразить, что мы также знаем:
б (у, г)
и это снова будет с SuperProperty Of (Chain), но для свойства b?

Я сначала подумал попробовать:
обратный (c) SubPropertyOf b

Этот протеже не любил, говоря, что был круг. Теперь я просто очень смущен.

2 ответа

Решение

Правильное выражение для b(y,z) было бы inverse(a) o c SubPropertyOf b, как вы хотите выразить, что путь свойства из y в z соответствует b, Если у вас есть только эта аксиома, это должно дать вам необходимый вывод. Тем не менее, вы не могли бы использовать его вместе с первой аксиомой, a o b SubPropertyOf c, В этом случае вы "определяете" c с помощью b в аксиоме с прямыми свойствами и тому b с помощью c в аксиоме с обратным свойством. Так что вы должны знать c определить c, Такие циклы запрещены в OWL 2 DL, поэтому Protege рассказывает вам о циклических определениях. В общем, вы можете иметь только одну из этих аксиом, но не обе из них одновременно.

Знание а и с не влечет за собой б. Это легко проиллюстрировать на классическом примере, определение дяди:

:hasUncle
  rdf:type owl:ObjectProperty ;
  owl:propertyChainAxiom (
      :hasParent
      :hasBrother
    ) .

Тогда если :David :hasParent :Mary а также :Mary :hasBrother :Johnрассудок DL действительно сделал бы вывод, что :David :hasUncle :John, Но если мы утверждаем, что :David :hasUncle :John а также :David :hasParent :Mary, этого недостаточно, чтобы сделать вывод, что :Mary :hasBrother :John, И действительно, Джон может быть братом другого родителя Марии.

Пожалуйста, обратите внимание, что в определении определения говорится, что цепочка свойств является дочерней собственностью :hasUncle и не эквивалентное свойство. Так что, даже если вы утверждаете :hasParent как функциональный, рассуждатель все равно не выведет b из a и c. Однако OWL2 не позволяет иметь эквивалентную комбинацию свойств объекта.

Цепочки собственности должны применяться с осторожностью. Например, в S1 º S2 º S3 º ... º Sn ⊑ R, R может находиться только на первом или последнем месте левой части выражения. Иначе это не будет решаемо. Это одно из ограничений для обычного RBox. И цепочки собственности, или, более формально, "Общее включение ролей" могут быть разрешены только в том случае, если они применяются к обычным RBox.

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