如何解决防止自反性用法
为避免受到 domain 和 range 以及个人所属类别的束缚,所有个体都赋予了反身属性。
那么此限制的用途是什么?
P.S:可以说有三个人:
NamedIndividual( :John )
NamedIndividual( :alex )
NamedIndividual( :BMW )
和对象属性:
ObjectProperty( :hasFriend )
ReflexiveObjectProperty(:hasFriend)
运行弹丸推断出:
BMW hasFriend BMW
这个推论在概念上是没有意义的
解决方法
The even more irresistible SROIQ 和Foundations of Description Logics之类的论文指出,自反和不自反属性与exists r.Self
概念密切相关。即Narcissist
可以定义为Narcissist \sqsubseteq loves.Self
。
SROIQ论文实际上提到自反和不自反属性的主要用例是有限的,只有与基数限制一起使用时才有意义。即如果您将PopularPerson
定义为至少有2个朋友的人,并且hasFriend
是自反的,则通过断言某人有1个已知朋友,该人将被归类为PopularPerson
,因为个人已经被假定为自己的朋友。
有趣的是,本文还提到reflexive(r)
等同于将GCI top \sqsubseteq exists r.Self
添加到TBox。就我个人而言,这更加直观,并提供了我认为您想要实现的控制。特别是,这使您可以用所选的任何类别替换\top
。对于反身性也存在类似的含义。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。