假设我有以下实例数据和属性公理:猫头鹰。对象属性的联盟
玛丽hasChild约翰
本hasChild汤姆
玛丽hasHusband本hasHusbandChild:hasHusband及子弹; hasChild
我怎样才能创建属性hasChilds这样的:
hasChilds:hasChild ⊔ hasHusbandChild
是真的吗?
假设我有以下实例数据和属性公理:猫头鹰。对象属性的联盟
玛丽hasChild约翰
本hasChild汤姆
玛丽hasHusband本hasHusbandChild:hasHusband及子弹; hasChild
我怎样才能创建属性hasChilds这样的:
hasChilds:hasChild ⊔ hasHusbandChild
是真的吗?
OWL不支持工会的属性,你可以说这样的话
- p ≡ q ⊔ [R
但你可以得到的效果:
- 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规则。
您可能意思是颠倒了所有子属性公理。 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
@AntoineZimmermann好,我认为现在事情是固定的。 – 2014-11-14 21:35:57
你能说明你自己遇到了什么问题吗? – EWit 2014-09-30 19:25:27
我如何构造推理输出的这个对象属性: Mary hasChilds John;
玛丽有孩子汤姆;
– 2014-09-30 20:28:05