/ / Запитване към анонимни класове в OWL API с Манчестърски синтакс - онтология, сова, протеже, сова-апи, манчестър

Запитване за анонимни класове в OWL API с Манчестър Синтаксис - онтология, бухал, протеге, сова-апи, манчестър-синтакс

Използвам OWL API за аргументиране на онтология, създадена в Protege. Работя с OWL API Пример DL заявка: http://sourceforge.net/p/owlapi/code/ci/aef6981535f07a2d0d44c394b9f4d5415f36025a/tree/contract/src/test/java/org/coode/owlapi/examples/DLQueryExample.java, Предполагам, че този пример давафункционалност, еквивалентна на DL Query Tab в Protege. Но всъщност има някои съществени разлики: трябва да получа информацията (подклас, суперклас и т.н.) на анонимна класа, която се определя от група лица (ex {Member1, Member2 ...}) или в друга начин. В Protege тази заявка връща правилен резултат, но такава заявка в OWL API Dl Query Example връща [NOTHING]. Има ли начин да се манипулират анонимни класове в OWL API? Благодаря предварително за отговора.

Отговори:

3 за отговор № 1

Ако приемем, че използвате класа DLQueryExample като такива без изменения.

Трябва да използвате друга причина, различна отпо подразбиране. Вижте линията 151, реализацията използва структурната логика, вградена в OWL-API. Това разсъждение е ограничено и не може да обработва сложни класови изрази като вашите.

Как да го поправите:

Използвайте по-напреднали разсъждения като отшелник, Изтеглете и поставете бурканчето на класа, след което заменете кода в ред 151 с това:

OWLReasonerFactory reasonerFactory = new Reasoner.ReasonerFactory();

Ще трябва да импортирате пакета org.semanticweb.HermiT.Reasoner, Сега ще използвате Hermit за обработка на вашите заявки. Опитвам Pizza and (hasTopping some CheeseTopping), тя трябва да работи!