2016-02-01 8 views
0

У меня есть некоторые проблемы с рассуждением: как я могу получить экземпляр класса, если я загружаю ТОЛЬКО TBox онтологии?Рассуждение по онтологии

OWLOntologyManager manager = OWLManager.createOWLOntologyManager(); 
OWLDataFactory dataFactory = manager.getOWLDataFactory(); 
Ontology = manager.createOntology(); 
Ontology = manager.loadOntologyFromOntologyDocument(IRI.create("http://www.cs.ox.ac.uk/isg/ontologies/lib/RobertsFamily/2009-09-03/00775.owl")); 
PelletReasoner reasoner = PelletReasonerFactory.getInstance().createNonBufferingReasoner(Ontology); 
reasoner.getKB().printClassTree(); 

Выполнение BLOCKED до последней строки (у меня нет NULL POINTER). Это только заблокирован :(

+0

Онтология RobertsFamily довольно сложна, поэтому может случиться, что причина не в памяти, или просто идет довольно медленно. Попробуйте этот IRI - онтология Pizza намного проще »http://www.cs.ox.ac.uk/isg/ontologies /lib/co-ode.o rg/PIZZA/2007-02-12/00793.owl "' – Ignazio

ответ

1

Это просто невозможно. Без ABox, там нет класса утверждения, что большинство людей не доступны для рассуждающий найти.

Единственные люди, которые могут быть найдены те включены в OneOf ограничениях, однако я не пробовал строить онтологию, которая могла бы работать с Пелле (или другими рассуждениями) таким образом, поэтому я не уверен, что это возможно.

+0

Спасибо за ваш ответ. Но у меня есть это упражнение: «Службы тестового вывода в общих онтологиях: например, членство человека в классе.Как я могу выполнить эту задачу? – blinkettaro

+0

Членство в чеке - проверка экземпляра, а то, что вы делали в вашем примере, - это поиск - вы можете ckeck, если человек является членом класса, проверяя, включено ли утверждение класса для вашего конкретного человека и класса: reasoner.isEntailed (dataFactory.getOWLClassAssertionAxiom (ваш класс, ваш человек)). Однако этот тест будет чаще всего возвращаться false, без утверждений, содержащих утверждения. – Ignazio

+0

Хорошо, я это понимаю. Итак, есть ли онтология, что Contes Tbox и Abox, которую я могу загрузить? Онтологии, которые я нашел, не содержат Abox. – blinkettaro