如何指定一系列关系意味着另一个关系

bri*_*rns 2 rdf semantic-web owl

假设我正在为家庭关系定义一个OWL本体,我已经定义了"姐妹"和"父母"之间的关系.我现在想定义一个关系"阿姨",并指定这种关系是由另外两个链的隐含.换句话说:如果X"姐妹 - "Y,和Y"父母 - "Z,那么X"阿姨 - "Z.

有没有办法做到这一点?它类似owl:TransitiveProperty但显然不起作用.在定义属性之间的关系方面,它与"owl:inverseOf"具有相同的一般性.

编辑

我想我正在寻找的是一种指定一个属性(在本例中为"aunt-of")是其他属性的组合的方法,但我仍然无法在OWL中找到一种方法.

Ale*_*lex 6

假设使用OWL2,您可以使用ObjectPropertyChain构造(此功能在OWL1中不可用).这可以使用Turtle在RDF中表达为:

ex:auntOf owl:propertyChainAxiom ( ex:sisterOf ex:parentOf ) .
Run Code Online (Sandbox Code Playgroud)

  • @ sh1ftst0rm请注意,这并不完全符合您的要求("一个属性(在本例中为"aunt-of")是其他属性的组合").这表示该构图是另一个的*子属性*.每当你有`x sisterOf y.y parentOf z .`你会得到`x auntOf z`,但你*没有*得到另一个方向.你不能从`x auntOf z`推断出有一些y这样的`x sisterOf y.y parentOf z .`链是属性的子属性. (2认同)