J'essaie d'imprimer les superclasses de l'ontologie de la pizza standard téléchargées de here. J'utilise OWL API 3.4.3 et Hermit 1.3.8.1 (reasoner).Impression des superclasses de l'ontologie de la pizza en utilisant OWL-API et Hermit
L'extrait de code suivant est utilisé pour imprimez les superclasses requises de la classe "Alimentation".
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();
}
Je n'obtiens aucune erreur de compilation. Le résultat est dans TRY 1. Le contenu à l'intérieur pour la bouclen'a pas été imprimé.
Dans le protégé 5.0, j'ai vu deux Superclasses de la classe de nourriture; à savoir DomainConcept et hibou: Chose. Pourquoi ces deux noms n'ont pas été imprimés par le programme?
Où est-ce que je fais mal?
Merci pour toute sorte d'aide.