В настоящее время я создаю онтологию изобретений в Protégé 4.
Я заявил:
- недвижимость
fulfills
- два класса:
Invention
иNeed
Все еще на Protégé, мой класс Invention определяется следующим утверждением:
Invention subClassOf fulfills exactly 1 Need
Это означает, что мне не нужен человек типа Invention
, который не fulfills
Need
или более одного.
Чтобы проверить это утверждение, я создал индивидуума типа Invention с именем Boots
и двух индивидуумов типа Need, названных соответственно Move_faster
и Eat_faster
.
Я утверждал, что Boots fulfills Move_faster
и Boots fulfills Eat_faster
, что должно нарушить мою последовательность, потому что изобретение должно удовлетворять только одну Потребность.
Но когда я запускаю HermiT reasoner, моя онтология остается согласованной, даже если:
Boots
не выполняет ничегоBoots
удовлетворяет любого человека, не являющегосяNeed
Это нормально?
Спасибо