简体   繁体   中英

Protege 5: How can I infer a class membership of an individual through its data properties?

I've made an ontology in Protégé 5 using OWL/XML syntax. I have included a class Cerveza and another class Color among others. Under Color, I have 3 subclasess: Claro (pale), Medio (medium) and Oscuro (dark):

班级

I made a data property called EBC xsd:int, which domain is class Cerveza:

数据属性

So I made a restriction to class Claro to have maximum 12 EBC degrees:

等级限制

Then I create an individual called kk and I assert the property EBC=10:

在此处输入图片说明

I started reasoner Pellet, and it is inferring that, as kk has EBC kk has to belong to class Cerveza. But I was expecting somehow to infer that kk belongs to Class Color / Subclass claro.

What is wrong in this design?

You are confusing datatype restrictions ( 7.5 ) and data property cardinality restrictions ( 8.5 ).

Instead of:

Class: Claro
  SubClassOf: EBC max 12 xsd:int

you should write:

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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM