2017-06-21 3 views
0

Ich habe zwei Spalten von Entitäten (Themen), und ich würde die Beziehung zwischen ihnen so spezifizieren mag:Wie implementiert man OWL-Beziehungen in RDF-Triples mit Java?

<subject_1> <relationship> <subject_2> 

Was ich will, ist wirklich tun, um eine Beziehung zwischen den Worten hinzuzufügen. Zum Beispiel, wenn ich zwei Wörter wie "CAR" und "VEHICLE" habe. Nach dem Ausführen des Programms, hat es ein semantic relationship zwischen ihnen zu erzeugen, wie zum Beispiel:

<car> <is_a> <vehicle> 

Jetzt „is_a“ ist eine Beziehung zwischen semantisch Worten definiert. Wie und wo kann ich all diese Beziehungen finden und bekommen, wie "is_a", "part_of" und so weiter, so dass ich sie in meinem Programm verwenden kann. (Ich möchte eine Datenbank oder API erreichen, wo alle diese Beziehungen definiert wurden, so dass ich zwei Wörter ausführen kann, um die Beziehung zwischen ihnen zu erhalten).

Das Problem ist, ich weiß, dass Wikipedia und WordNet-APIs mehr als 50000 Beziehungen definiert zwischen den Themen. Ich habe im ganzen Internet nach diesen Beziehungen gesucht, damit ich sie umsetzen kann, aber ich habe keine gefunden. Hat jemand eine Vorstellung davon, wie ich diese Beziehungen erreichen kann oder wie kann ich sie mithilfe von Java implementieren?

Ein Link zu Github-Repository oder ein Link zu ihrer Datenbank wird so geschätzt!

+0

Es ist mir nicht klar, wonach Sie suchen: Was meinen Sie, wenn Sie sagen, dass Sie diese Beziehungen erreichen wollen, damit Sie sie umsetzen können? Können Sie ein tatsächliches Beispiel der Entitäten, die Sie haben, und der Relationen, die Sie hinzufügen möchten, zeigen? –

+0

"OWL definiert mehr als 50000 Beziehungen zwischen den Fächern" - ähm, was? OWL definiert nichts. OWL ist eine Modellierungssprache. Es liegt an Ihnen, die Beziehungen als Objekteigenschaften in Ihrer Ontologie zu definieren. Und es liegt an Ihnen, zu entscheiden, ob Sie vorhandene öffentliche Ontologien wiederverwenden möchten, die tatsächlich einige Beziehungen für ihre Interessensgebiete definieren. Zu guter Letzt gibt es kein zentrales Repository für alle Ontologien, die öffentlich verfügbar sind. Aber wie Jeen gesagt hat, bleibt unklar, was Sie verlangen. – AKSW

+0

@JeenBroekstra Danke für Ihre Antwort, ich habe die Frage aktualisiert, um sie klarer zu machen. –

Antwort

0

Es gibt keine einzige, zentrale Stelle, die alle Beziehungen definiert, obwohl es Initiativen für spezielle Suche (wie Swoogle) oder offene Datenportale (wie CKAN), die hilfreich sein kann Vokabulare zu finden.

Für grundlegende Datenmodellierung Beziehungen wie is-a, part-of, etc., gibt es die RDFS, OWL und SKOS Vokabulare. Sie haben Websites mit Dokumentation und natürlich werden sie selbst als RDF/OWL veröffentlicht. Wenn Sie sie also von einer Datenbank aus zugänglich haben möchten, können Sie sie einfach in Ihren eigenen Tripelspeicher laden und abfragen.

Für andere Arten von Beziehungen gibt es andere, domänenspezifische Ontologien. Wenn Sie sie wiederverwenden möchten, müssen Sie sie einzeln suchen. Wie das in der Praxis funktioniert, ist, dass Sie eine Domäne im Hinterkopf haben und dann nach einem passenden Vokabular suchen: "Ich möchte Beziehungen modellieren, die mit Büchern zu tun haben - also möchte ich nach einer Bücherontologie suchen oder vielleicht eine Bibliotheksontologie ".

Verwandte Themen