可以在OWL中连接传递对象和对称对象属性吗?

时间:2018-12-04 21:29:31

标签: owl semantic-web ontology protege

我正在使用一个本体(OWL,Protege 4)。我有3个人:ABC。还有两个对象属性:bearshasContactWith

关系应该是下一个:

  • A bears B;
  • B bears C;
  • A hasContactWith B;
  • B hasContactWith C

属性bears必须是可传递的,而hasContactWith是对称的。

是否有可能通过hasContactWith定义属性bears(作为子属性/链公理/附加步骤),以失去传递特性并变得对称?

我想要获得的结果是设置bears关系,并从推理机中获取hasContactWith作为派生属性。

感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

让我们假设您有一个解决方案。该解决方案应从A hasContact B推论A bears B,从B hasContact C推论B bears C,但不应从A hasContact C推论A bears C
A bears BA bears C有什么区别?后者已经被推断出来。该解决方案应该能够区分断言和推断的语句。在OWL中是不可能的。

可能有人可以使用规则语言或SPARQL UPDATE找出一些东西。

在OWL中,建议创建第三个属性作为两者的子属性并设置其值:

ObjectProperty: myProperty
     SubPropertyOf: bears, hasContactWith

ObjectProperty: bears
     Characteristics: Transitive

ObjectProperty: hasContactWith
     Characteristics: Symmetric  

Individual: A
     Facts: myProperty  B   

Individual: B
     Facts: myProperty  C

Individual: C

localstorage


顺便说一句,传递性和对称性可以视为在属性层次结构中向下传播。