Я пытаюсь напечатать Суперклассы стандартной онтологии Pizza, загруженные с here. Я использую OWL API 3.4.3 и Hermit 1.3.8.1 (рассудитель).Печать суперклассов онтологии Pizza с использованием OWL-API и отшельника
Следующий фрагмент кода используется для распечатать необходимые Суперклассы класса «Продукты питания».
OWLOntologyManager manager = OWLManager.createOWLOntologyManager();
IRI ontologyIRI =IRI.create("file:/D:/pizza.owl.xml");
//IRI ontologyIRI =IRI.create("http://www.co-ode.org/ontologies/pizza/pizza.owl");
OWLOntology ontology = manager.loadOntology(ontologyIRI);
OWLReasoner reasoner = new Reasoner.ReasonerFactory().createReasoner(ontology);
OWLDataFactory df = manager.getOWLDataFactory();
try{
reasoner.precomputeInferences(InferenceType.CLASS_ASSERTIONS);
//following Lines are to see super classes of Container
OWLClass clsA = df.getOWLClass(IRI.create(ontologyIRI + "#Food"));
Set<OWLClassExpression> superClasses = clsA.getSuperClasses(ontology);
System.out.println("in TRY 1");
//System.out.println("Hello World\n"+superClasses.iterator().toString());
for (OWLClassExpression g : superClasses) {
System.out.println("The superclasses are:"+g);
}
}
catch (Exception e) {
e.printStackTrace();
}
У меня нет ошибок при сборке. Результат: в TRY 1. Содержание внутри для петлине было напечатано.
В протеже 5.0, я видел два Суперклассы пищевого класса; а именно DomainConcept и owl: Thing. Почему эти два имени не были напечатаны программой?
Где я делаю неправильно?
Спасибо за любую помощь.