防止自反性用法

问题描述

为避免受到 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。对于反身性也存在类似的含义。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...