Reasoner 在 protege 中推断出错误的公理
Reasoner infers wrong axioms in protege
我在 protege 中构建了一个 ontology,它具有以下公理:
Platform hasLocation SpatialThing
Sensor hasLocation Spatialthing
假设一个平台和一个传感器具有相同的位置。
然后reasoner推断sensor也是Platform类型,platform也是sensor类型,这是错误的。我该如何改变它?
所有可用的推理器都会发生这种情况。
视觉上:
hasLocation domain: Platform, Sensor
hasLocation range: SpatialThing
<SensorInstance> owl:Class Sensor
<SensorInstance> hasLocation <SpatialThingInstance>
Reasoner infers:
<SensorInstance> owl:Class Platform
您断言 hasLocation
的域是 Platform
和 Sensor
的 交叉点 。这意味着 hasLocation
具有值的任何东西都属于这两个 class。
如果你想说 Platform
和 Sensor
是域的一部分,但不相交,你需要将域定义为这两个 class 的并集es(或者,根据您设置中的实际域,域 class 是 Platform
和 Sensor
.
的超级class
我在 protege 中构建了一个 ontology,它具有以下公理:
Platform hasLocation SpatialThing
Sensor hasLocation Spatialthing
假设一个平台和一个传感器具有相同的位置。 然后reasoner推断sensor也是Platform类型,platform也是sensor类型,这是错误的。我该如何改变它? 所有可用的推理器都会发生这种情况。 视觉上:
hasLocation domain: Platform, Sensor
hasLocation range: SpatialThing
<SensorInstance> owl:Class Sensor
<SensorInstance> hasLocation <SpatialThingInstance>
Reasoner infers:
<SensorInstance> owl:Class Platform
您断言 hasLocation
的域是 Platform
和 Sensor
的 交叉点 。这意味着 hasLocation
具有值的任何东西都属于这两个 class。
如果你想说 Platform
和 Sensor
是域的一部分,但不相交,你需要将域定义为这两个 class 的并集es(或者,根据您设置中的实际域,域 class 是 Platform
和 Sensor
.