【发布时间】:2020-11-06 09:12:08
【问题描述】:
在 protege 中,自反属性被分配给 所有 个人,无论 域 和 范围 以及个人所属的类别。
那么这个限制有什么用呢?
P.S:假设有三个人:
NamedIndividual( :John )
NamedIndividual( :alex )
NamedIndividual( :BMW )
和一个对象属性:
ObjectProperty( :hasFriend )
ReflexiveObjectProperty(:hasFriend)
运行 pellet 推断:
BMW hasFriend BMW
这个推论在概念上毫无意义
【问题讨论】:
-
自反限制仅适用于对象属性。反身限制并不直接适用于个人。出于这个原因,你的问题对我来说没有意义。你能用一个最小的完整例子来扩展你的问题吗?
-
@HenrietteHarmse 这不正确。自反属性是一个全局特征,并且确实适用于所有个体。这里的重点是,他不知道为什么要使用它。显然
hasFriend是一个不好的例子,例如,有些人确实使用partOf来模拟一个分子关系。确实有讨论的余地 -
@amin @UninformedUser 我的观点是,对于
hasFriend,必须设置反身限制才能对个人产生影响。反身限制是针对属性设置的,而不是针对个人设置的。但是,一旦设置,它们就会对有关个人的推论产生影响。但是,@UninformedUser,您对问题的澄清很有帮助。 -
@HenrietteHarmse 是什么意思:
Reflexive restrictions are set on properties, not individuals。你能举个例子吗?我需要知道什么时候应该/不应该在我的本体中使用reflexive限制 -
@amin 编辑您的问题以添加
ReflexiveObjectProperty(:hasFriend)。例如,如果不将此限制添加到hasFriend,它将不会推断BMW hasFriend BMW。
标签: owl ontology protege pellet hermit