Мыслитцы-протеже не могут вывести обратное свойство

У меня есть простая онтология с классом "Человек", в которой есть 3 человека: "А", "В", "С". Они связаны друг с другом свойством объекта с именем isFatherOf, например,

A isFatherOf B
B isFatherOf C

и я установил другое свойство hasFather, которое является обратным свойством isFaterOf, Я ожидал, что умозаключение сделает вывод:

B hasFatherOf A
C hasFatherOf B

Однако ни один из встроенных рассуждений (FaCT++, HermiT, Pellet) их не выводил.

Кроме того, я хочу сделать цепочку собственности isFatherOf, сказать isGrandFatherOf:

A isGrandFatherOf C

Поэтому я установил SuperProperty, как показано ниже:

isFatherOf o isFatherOf SubPropertyOf isGrandFatherOf

но это также не удается.

У меня такие же результаты на Protege 4.3 и 5.0.0 (Build RC1) с HermiT 1.3.8, Pellet 2.2.0 и FaCT++ 1.6.4. Я искал документы и вопросы в Интернете, но до сих пор не могу понять, почему это происходит. Вот ссылка на файл совы.

Добавлено сообщение об ошибке

Проблема может быть вызвана ошибкой. У меня были желаемые результаты вывода в среде: Win7 64-bit, Protege 5-beta21 (и Protege 5-RC1), java 1.8.0_20.

Но проблема действительно возникла в среде: Win10 64-bit, Protege 5-beta21 (и Protege 5-RC1), java 1.8.0_73. Я не мог получить никаких результатов логического вывода. Я попытался сделать вывод с помощью трех разных рассуждений (HermiT 1.3.8, Pellet 2.2.0 и FaCT++ 1.6.4). Среди них только HermiT 1.3.8 показывает сообщение об ошибке ниже. В журнале написано win8, но на самом деле это win10.

0 ответов

Другие вопросы по тегам