OWL API Jena-API Protégé-API, die man verwenden
Ich versuche, die Implementierung einer eclipse-basierten Anwendung arbeiten mit Ontologien. (Mein Thema ist die semantische annotation). Ich muss in der Darstellung der Ontologie für den Nutzer (wie ein Baum) und zum herstellen von Verknüpfungen zwischen den Ontologie-Klassen und einige schema.
Da ich nur grundlegende Programmierkenntnisse, bin ich irgendwie überfordert jetzt, wie das design der Anwendung...
1. Frage: Welche APIs zu verwenden? Ich fand OWL API und die Jena-API. In einem der Beiträge (Gibt es eine Bibliothek, die könnte leicht ändern und aktualisieren, OWL-Dateien?) Michael erklärte, dass " OWLAPI über Jena. Jena hat den OWL-Unterstützung, aber es ist nicht entworfen für EULE, das macht es ein wenig umständlich zu verwenden. "Wie sehen Sie das?
2. Zusätzlich, existiert auch die Protégé-API. Auf den ersten Blick, es scheint mehr zu sein für mich geeignet, denn es bietet bereits einige GUI-utilities etc. Aber ich bin ein bisschen verwirrt: beim Versuch, mehr Informationen zu finden, fand ich diese http://protegewiki.stanford.edu/wiki/P4APIOverview . Dort heißt es "Work in progress", aber die Seite wurde zuletzt geändert im Jahr 2009. Wie sinnvoll ist das? Hat jemand arbeitete mit Protégé-API und kann über seine /Ihre Erfahrungen?
Vielen Dank im Voraus!
InformationsquelleAutor der Frage Sabina | 2013-07-10
Du musst angemeldet sein, um einen Kommentar abzugeben.
Aber diese Frage ist wohl off-topic für StackOverflow, es ist immer noch eine wichtige Frage im Allgemeinen, so sind hier einige Allgemeine Gedanken über den Unterschied zwischen der Jena-API und der OWL-API, auch wenn Sie nicht machen Sie lieber einen über den anderen, könnte Ihnen eine bessere Vorstellung von dem, was Sie bekommen in jedem Fall. Ich bin eine Kennzeichnung community wiki, so dass andere update auch.
Die Beziehung zwischen OWL und RDF
RDF ist ein graph-basierten Darstellung. Ein RDF-graph ist ein gerichteter graph, dessen Knoten Ressourcen (was können anonym oder benannt wurden IRIs) und Literale, und dessen Kanten gerichtet sind links gekennzeichnet durch IRIs. Diese ist verblüffend einfach, aber da sind die Bezeichner IRIs und kann oft deferenced, auch erstaunlich nützlich. Es gibt wirklich nicht viel mehr zu sagen über RDF, denn das ist alles dort ist zu ihm. Es ist sehr flexibel, und Sie können einfach über alles.
EULE, obwohl entwickelt, um verwendet werden, in das Semantic Web und damit mit RDF-Daten, ist wirklich eine logische Sprache, die nur nebenbei geschieht, werden im Zusammenhang mit RDF. Eine OWL Ontologie besteht aus einer Menge von OWL-Axiome, von denen einige erklären, dass bestimmte Bezeichner beziehen sich auf Personen, von denen einige behaupten, Beziehungen zwischen Personen (und nicht die einzelnen Daten, wie die literalen), von denen einige äußern die Struktur der Klassen, und so weiter. Die Nützlichkeit der EULE entsteht aus der Tatsache, dass, wie RDF, verwendet es IRIs als Bezeichner, sondern um die logische Struktur könnte existiert völlig unabhängig von RDF. In der Tat, obwohl OWL-Ontologien können serialisiert Verwendung von RDF und, in der Tat, dies ist wahrscheinlich die häufigste Serialisierung verwendet, die EULE kann auch serialisiert in OWL/XML, OWL Functional Syntax mit der Manchester OWL Syntax, und alle anderen Serialisierungsformat, dass jemand erfindet. Diese Formate konzentrieren sich eher auf die OWL-level-Konstrukte, und es ist klarer, dass eine Ontologie ist eine Menge von Axiomen.
Die Jena-API RDF-centric
Jena-API ist fest verwurzelt in RDF. Das grundlegende Konzept ist die Modell (die primitiver als die OntModeldas ist für Sie dabei mehr kompliziert OWL-Arbeit), die bietet eine komfortable API für die Konstruktion von RDF-Graphen. Mit Hilfe von Modellen, erstellen Sie Ressourcen, Eigenschaften hinzufügen, und so weiter. Jena enthält auch einen regelbasierten reasoner, der ist ganz praktisch für die Arbeit mit RDF-Graphen.
Nun, OWL serialisiert werden kann die Verwendung von RDF, so ist es möglich, erstellen Sie eine wrapper-Schicht über einen RDF-graph, so dass Sie könnte sagen: "erstellen Sie für mich die Klasse, die die Schnittmenge von A und B" und die Ressource identifizieren, die Klasse und transparent hinzufügen, um die Klasse was auch immer RDF-Tripel sind notwendig, die OWL-Serialisierung zu behaupten, dass die neue Klasse ist (entspricht) die Schnittmenge von A und B. Dies ist, was der Jena-OntModel-API ist. Es tut es in einer generischen Art und Weise, was bedeutet, dass Jena können mit anderen Ontologie-Sprachen, die serialisiert werden kann in RDF zu. Jena OntModels, die zum Zeitpunkt des Schreibens, nur unterstützt OWL1; neue Konstrukte eingeführt, die in OWL2 werden noch nicht unterstützt.
Die Tatsache, dass OWL-level-Konstrukte in Jena sind einfach Wrapper über die RDF-Serialisierung bedeutet, dass rule-based reasoning ist beschränkt in dem, was es erreichen kann. Insbesondere die Jenaer Regel-basiert von reasonern für OWL sind logisch unvollständig (D. H., Sie können nicht ableiten allesdass die EULE specs sagen sollte geschlossen werden). Sie tun es noch immer ziemlich gut für den Tag zu Tag funktionieren, obwohl. Jena ist ein Reasoner Schnittstelle, die erlaubt, dass andere (vielleicht nicht Regel-basiert) von reasonern, wie Pellets verwendet werden.
Die OWL-API ist OWL-centric
Die OWL-API ist OWL-centric, und Sie ziemlich viel nicht haben, um sorgen über RDF (abgesehen von der Identifizierung Dinge, die durch die IRIs und die Schaffung von Literalen als angemessen). Mit Hilfe der OWL-API, die Sie tatsächlich behandeln eine Ontologie als eine Menge von Axiome und nicht als eine Reihe von verdreifacht das geschehen zu Kodieren einige axiom. Wenn Sie bereits vertraut mit der EULE specs, und sind komfortabel zu reden über Dinge wie ObjectPropertyAssertions, dann Sie können feststellen, dass die OWL-API ein bisschen mehr Natürliche.
Die Protégé-OWL-API ist auch OWL - und RDF(S)- centric
Vom Die Protégé-OWL-API Programmer ' s Guide:
Die Haupt-Seite für den Protégé-OWL-API hat auch einige schöne Diagramme von Klassen, die es bietet. Die vollen Zügen ein dieser zeigt, dass es Klassen für beide RDF(S) und EULE Personen.
Protégé-OWL (das Werkzeug, nicht die API) ist ein grafischer Ontologie-editor gebaut, auf der Spitze des Protégé-OWL-API. Sie können entwickeln plugins dafür, was vielleicht die beste alternative in Ihrem Fall.
InformationsquelleAutor der Antwort