【发布时间】:2017-06-29 10:21:30
【问题描述】:
This 是我用 protege 5 创建的本体。
如果我使cl1 和cl2 不相交,则本体不一致,但如果我取消选中is_friend_of reflexive,则本体不再不一致。我的本体有什么问题?
我只希望 cl1 类个人拥有 is_friend_of 属性。
【问题讨论】:
标签: owl semantic-web ontology protege
This 是我用 protege 5 创建的本体。
如果我使cl1 和cl2 不相交,则本体不一致,但如果我取消选中is_friend_of reflexive,则本体不再不一致。我的本体有什么问题?
我只希望 cl1 类个人拥有 is_friend_of 属性。
【问题讨论】:
标签: owl semantic-web ontology protege
:is_friend_of 的自反性对于不一致是必不可少的。
看看Reasoner > 本体解释不一致:
我会试着把这个解释翻译成(糟糕的)英文:
:is_friend_of是自反的,那么:c2_inst :is_friend_of :c2_inst。:is_friend_of的域是:cl1,那么c2_inst rdf:type :cl1。c2_inst rdf:type :cl2。:cl1 和:cl2 是不相交的——矛盾。 实际上,每个自反属性的域都是owl:Thing。
作为一种解决方法,您可以取消选中 is_friend_of 的反射性并以这种方式定义 :cl1:
Class: cl1
EquivalentTo:
is_friend_of some owl:Thing,
is_friend_of some Self
【讨论】:
In fact, the domain of every reflexive property is owl:Thing。为什么 ?为什么我不能像对其他属性那样将自反属性域限制为一个已定义的类?
Self。
has_friend或类似的东西代替is_friend_of,这样会更容易理解。顺便说一句,有inverse object properties。
is_friend_of 不应该是对称的而不是自反的吗?