2014-09-30 68 views
0

假设我有以下实例数据和属性公理:猫头鹰。对象属性的联盟

玛丽hasChild约翰
本hasChild汤姆
玛丽hasHusband本

hasHusbandChild:hasHusband及子弹; hasChild

我怎样才能创建属性hasChilds这样的:

hasChilds:hasChild ⊔ hasHusbandChild

是真的吗?

+0

你能说明你自己遇到了什么问题吗? – EWit 2014-09-30 19:25:27

+0

我如何构造推理输出的这个对象属性: Mary hasChilds John;
玛丽有孩子汤姆;
2014-09-30 20:28:05

回答

2

OWL不支持工会的属性,你可以说这样的话

  1. p ≡ q ⊔ [R

但你可以得到的效果:

  1. q ⊔ r⊑ p

通过做两个公理:

  • Q⊑ p
  •   r⊑ p
  • 现在,图2是不一样的1,因为用1,你知道,如果P(X,Y),然后或者Q(X,Y)或R(X,Y),而对于2,在没有q(x,y)或r(x,y)为真的情况下,p(x,y)可以为真。

    同样,你不能在OWL限定属性链等:

  • Q&子弹; ř≡ p
  • 但你上子属性公理的左手侧使用属性链:

  • Q&子弹; r⊑ p
  • 两者之间的差别,当然,是与6可以有P(X,Y)没有x和y由Q&子弹被连接; r链。

    你不明白你在问什么,但我想你试着要问的是,有没有办法说x的配偶的孩子也是x的孩子。你可以使用属性链在OWL2中做到这一点,具体来说,

    hasSpouse• hasChild⊑ hasChild

    这等效于一阶公理:

    &的forall; x,y,z :(hasSpouse(x,y)∧ hasChild(y,z))→ hasChild(X,Z)

    一些堆栈溢出等问题,都与此有关,并提供有关如何对这种公理添加到您的OWL本体更多的指导:

    作为替代方法,您还可以将一阶公理编码为SWRL规则。

    +1

    您可能意思是颠倒了所有子属性公理。 q⊔r⊑p代替p⊑q⊔r,q⊑p代替p⊑q,r⊑p代替p⊑r,q•r⊑p代替p⊑q•r。 – 2014-11-14 21:26:26

    +0

    @AntoineZimmermann好,我认为现在事情是固定的。 – 2014-11-14 21:35:57