Я создал онтологию в протеже.
У меня есть класс AlcoholicBeverage, под этим классом есть подклассы Beer, Wine. Эти подклассы не пересекаются.
У меня есть класс под названием Person (без подклассов). Другой класс называется Behavior с двумя подклассами «PositiveChange» и «NegativeChange».
У меня есть свойство объекта «использование» с двумя подсвойствами «пить» и «потреблять». Домен свойства «использование» — это класс Person, а диапазон — класс AlcoholicBeverage.
У класса NegativeChange есть надкласс, указанный в этом утверждении «использующий некоторые алкогольные напитки».
Когда я пишу запрос DL, такой как «употребить немного пива», «выпить немного пива» или «употребить немного пива», он должен классифицировать его как NegativeChange, но это не так. Тем не менее, это делает классификацию только тогда, когда я пишу «используя некоторый Алкогольный напиток», что точно такое же определение, как и в разделе суперкласса Алкогольного напитка. Он не принимает во внимание наследование классов или объектов. Я ожидаю, что он должен классифицировать пиво как алкогольный напиток или «потребляющее» свойство объекта как «использующее» свойство объекта.
Спасибо за вашу помощь.