Protege 5:如何通过个人的数据属性推断个人的类成员身份?

问题描述

我已经使用OWL / XML语法在Protégé5中创建了一个本体。除其他外,我还包括Cerveza类和Color类。在“颜色”下,我有3个小节:Claro(淡),Medio(中)和Oscuro(暗):

Classes

我创建了一个名为EBC xsd:int的数据属性,该域是Cerveza类:

Data property

所以我限制了Claro类的最大EBC度数为12:

Class restriction

然后我创建一个名为kk的个人,并声明属性EBC = 10:

enter image description here

我开始了推理机pellet,并且可以推断,由于kk具有EBC,所以kk必须属于Cerveza类。但是我期待以某种方式推断kk属于Class Color / Subclass claro。

此设计有什么问题?

解决方法

您正在混淆数据类型限制7.5)和数据属性基数限制8.5)。

代替:

Class: Claro
  SubClassOf: EBC max 12 xsd:int

您应该写:

Class: Claro
  EquivalentTo: EBC some xsd:int[<= 12]