Ich verwende OWLAPI für ein Projekt, und ich muss zwei Ontologien für Unterschiede zwischen ihnen vergleichen. Dies würde leere Knoten ignorieren, so dass ich zum Beispiel feststellen kann, ob dieselben OWL-Einschränkungen in beiden Ontologien vorhanden sind. Ich muss nicht nur wissen, ob es Unterschiede gibt, sondern ich muss herausfinden, was diese Unterschiede sind. Gibt es solche Funktionalität in der OWLAPI, oz gibt es eine relativ einfache Möglichkeit, dies zu tun?Ontologievergleich in owlapi
Antwort
Die Gleichheit zwischen anonymen Klassenausdrücken basiert nicht auf dem leeren Knoten ids - anonyme Klassenausdrücke haben nur leere Knoten in der Textausgabe, im Speicher werden die IDs ignoriert. Wenn Sie also prüfen, ob ein Axiom in einer Ontologie vorhanden ist, werden Ausdrücke standardmäßig korrekt für Ihr Diff abgeglichen.
Dies gilt nicht für Einzelpersonen - anonyme Personen werden über Ontologien nicht die gleichen gefunden, und dies ist nach Spezifikationen. Eine anonyme Person in einer Ontologie kann nicht in einer anderen gefunden werden, da die anonymen individuellen IDs auf die enthaltene Ontologie beschränkt sind.
Hinweis: Die Komponententests für OWLAPI müssen eine sehr ähnliche Aufgabe ausführen, um zu überprüfen, ob eine Ontologie erneut geparst, geschrieben und analysiert werden kann (dh zwischen Eingabe- und Ausgabesyntax abgerundet) Code, den Sie betrachten können, um sich inspirieren zu lassen. Weitere Details finden Sie unter TestBase.java - equal() method. Dies beinhaltet Code, um mit verschiedenen IDs für anonyme Personen umzugehen.
- 1. OWLAPI ObjectPropertyChain Axiome
- 2. OWLAPI rekursive Axiome
- 3. OWLAPI: Verwendung von 'Imports' enum
- 4. OWLAPI: Create new Reasoner (HermiT)
- 5. OWLAPI: Statistik über das Schließen Aufgabe
- 6. kann nicht zwei äquivalente OWLClasses in OWLAPI mit Reasoner
- 7. OWLAPI: Wollen abgeleitete Axiome aus Ontologie mit HermiT Reasoner
- 8. OWLAPI: „ParserException“, während String Klasse Expression Umwandlung ManchesterOWLSyntaxParser mit
- 9. OWLAPI: Wie funktioniert die Lade-Ontologie mit Import?
- 10. OWLAPI: Parser nicht gefunden, wenn von Jar ausgeführt
- 11. OWLAPI: HermiT Reasoner zeigt falsches Ergebnis und KEINE Erklärung
- 12. OWLAPI: Leistungseinfluss bei der Aktualisierung/Löschung von Axiomen
- 13. In OWLAPI, wie RDF/XML einschließlich UTF-8 Codierung in Header schreiben
- 14. OWLAPI: Wie Liste aller Annotations Eigenschaften und Datentypen in Protege angezeigt wird
- 15. Ausnahme beim Hinzufügen von SWRLAPI, um Swrl-Regeln in Java zu manipulieren
- 16. Pellet Eule api 2.4.0 und java.lang.NoSuchMethodError: org.semanticweb.owlapi.model.OWLObjectPropertyDomain
- 17. Java verschiedene Rückgabetyp in einer Funktion in Bezug auf die Header-Methode
- 18. eule api + pellet ignazio1977
- 19. Java Hashset Konstruktor Inline
- 20. kann nicht DataPropertyAssertion mit OWL API
- 21. OWLOntology readOntology erstellt AnnotationProperty
- 22. Einsiedler-Inferenz alle Personen einer Klasse
- 23. So legen Sie die Ontologie-ID einer anonymen Ontologie mithilfe der OWL-API fest
- 24. SPARQL Abfrage einzeln in Protege
- 25. kann nicht mit dieser OWL Datei mit OWL API
- 26. Erstellen einer neuen Ontologie von OWL API
- 27. Get aufgezählten Werte mit einem reasoner
- 28. IKVM Glas zu Dll Probleme
- 29. Parsen Sie eine .ttl-Datei und ordnen Sie sie einer Java-Klasse zu
- 30. Warum JavaCompiler ist langsam beim Instanziieren einer Java-Klasse?
Im Vergleich von Ontologien verstehe ich, dass anonyme Personen keine ID haben (also interne IDs sind hier nicht signifikant). Meine Absicht wäre also, die Struktur anonymer Knoten zu vergleichen. Zum Beispiel, eine Einschränkung im Zusammenhang mit seiner benannten Unterklasse: Angesichts einer benannten Unterklasse, die in beiden Ontologien erscheint, ist in jeder Ontologie die Klasse eine Unterklasse einer Einschränkung, wobei die Einschränkung das Thema derselben Tripel (Eigenschaft und Objekt) in ist beide Fälle. Das muss ich feststellen. –
In Ihrem Fall sind die Axiome der Unterklasse .equals() zueinander. Sie können also ein Axiom aus der ersten Ontologie nehmen und prüfen, ob die zweite Ontologie es enthält. – Ignazio