Протеже 5: Как я могу сделать вывод о членстве человека в классе по его свойствам данных?

Я создал онтологию в Protégé 5, используя синтаксис OWL / XML. Я включил класс Cerveza и еще один класс Color среди других. В разделе Color у меня есть 3 подкласса: Claro (бледный), Medio (средний) и Oscuro (темный):

Классы

Я создал свойство данных под названием EBC ​​xsd: int, домен которого является классом Cerveza:

Свойство данных

Поэтому я ввел ограничение для класса Claro, чтобы иметь максимум 12 степеней EBC:

Ограничение класса

Затем я создаю человека по имени kk и утверждаю свойство EBC = 10:

введите описание изображения здесь

Я начал рассуждать Pellet, и он делает вывод, что, поскольку kk ​​имеет EBC, kk должен принадлежать к классу Cerveza. Но я ожидал, что каким-то образом сделаю вывод, что kk принадлежит к классу Color / Subclass Claro.

Что не так в этой конструкции?


person Naperiferia    schedule 27.08.2020    source источник
comment
есть разница в указании максимальных 12 степеней EBC по сравнению с максимальной степенью 12 - то, что вы сделали неправильно в своей онтологии EBC max 12 int, означает максимум 12 степеней EBC, но ваши данные KK EBC 10 означают, что KK имеет степень EBC значения 12   -  person UninformedUser    schedule 28.08.2020


Ответы (1)


Вы путаете ограничения типов данных (7.5) и ограничения количества элементов данных (8.5) .

Вместо того:

Class: Claro
  SubClassOf: EBC max 12 xsd:int

вы должны написать:

Class: Claro
  EquivalentTo: EBC some xsd:int[<= 12]
person Stanislav Kralin    schedule 27.08.2020
comment
Спасибо Станиславу. А как мне делать интервал? Я написал: Класс: Medio EquivalentTo: EBC some xsd: int [›12] и xsd: int [‹ = 47] Класс: Oscuro EquivalentTo: EBC some xsd: int [›47] Но это становится смешанным. В обоих классах я набираю людей старше 12 лет. - person Naperiferia; 29.08.2020
comment
Еще раз спасибо, но я все еще получаю в Medio (EBC some xsd: int [›12,‹ 47]) человека с EBC 80˄˄xsd: int - person Naperiferia; 29.08.2020
comment
EBC функциональное свойство? - person Stanislav Kralin; 29.08.2020
comment
Я имею в виду, есть ли у этого человека два значения свойстваEBC? - person Stanislav Kralin; 29.08.2020
comment
Нет, у него только одно значение. Но как только я поставил галочку по функциональным характеристикам, он заработал нормально. Теперь у меня есть то, что мне нужно. Задача решена. Спасибо - person Naperiferia; 30.08.2020