Ich versuche, OWL2-Datei mit OWL API zu analysieren. Aber ich habe ein Problem, wenn ich versuche, Etikett <SubClassOf></SubClassOf>
zu analysieren. Bitte beachten Sie das Beispiel unten.Der analysierte Inhalt ist in umgekehrter Reihenfolge
<?xml version="1.0"?>
<Ontology xmlns="http://www.w3.org/2006/12/owl2-xml#"
......>
<SubClassOf>
<Class URI="&ontology_people1;Address"/>
<Class URI="&ontology_people1;Location"/>
</SubClassOf>
......
</Ontology>
Der Gehalt zwischen <SubClassOf> and </SubClassOf>
um geschrieben werden. Die Kindklasse wird in die erste Zeile geschrieben und die Elternklasse wird in die zweite Zeile geschrieben. Aber ich analysiere es und drucke in der Konsole. Ihre Reihenfolge ist umgekehrt. Inzwischen sind andere nicht umgekehrt. Mein Code ist auf dem folgenden.
OWLOntologyManager manager = OWLManager.createOWLOntologyManager();
File file = new File("src/main/resources/dataSet/PR/person1/ontology_people1.owl");
OWLOntology o = manager.loadOntologyFromOntologyDocument(file);
List<OWLAxiom> subClassOf = o.axioms()
.filter(axiom -> axiom.getAxiomType().toString().equals("SubClassOf"))
.collect(Collectors.toList());
for (OWLAxiom owlAxiom : subClassOf) {
Stream<OWLEntity> owlEntityStream = owlAxiom.signature();
owlEntityStream.forEach(entity->System.out.println(entity.getIRI()));
System.out.println("**************");
}
Warum?
mich @Ignazio Entschuldigung, Sie haben mir oft geholfen, und ich weiß, Sie der Autor von OWL API sind, können Sie mir helfen, wieder ? Vielen Dank ! – ciferlv