Gibt es eine Möglichkeit, eine Hibernate Session als RDF Tripel zu lesen?
-
19-09-2019 - |
Frage
Ich brauche meine lokalen Hibernate verwalteten Datenspeicher für beharrte Objekte basierend auf Kriterien abgefragt werden, wo die relevanten Daten für die WHERE-Klausel ist in der Linked Open Data Cloud.
Gibt es eine Möglichkeit, eine Hibernate Session als RDF zu lesen? Wenn ja, ich zumindest kann die kombinierte Dataset verwenden, um zu entscheiden, was aus dem Ruhezustand holen Objekte.
Vorzugsweise ist die Lösung würde die Hibernate Session als innen Jena freizulegen, wie ich mit ihm vertraut bin. Darüber hinaus muss ich werde Unterstützung für RDFS Inferenz und SPARQL für den Abruf.
Lösung 2
Hier ist, was ich seit der Veröffentlichung auf die Frage gefunden haben:
Es gibt kein vorhandenes Werkzeug, das speziell die Hibernate Session triplify. Zur Implementierung eines selbst muss ich implementieren Graph vielleicht mit GraphBase als Basis oder StageGenerator. Die Antwort auf die Frage ist daher „nicht da ist“, so ging ich auf zu prüfen, wie es zu implementieren.
Ich muss entscheiden, ob sie triplify Objekte bereits in der Sitzung (das heißt bereits von einem früheren Abfrage zugegriffen wird), die sich auf die Datenbank zugreifen oder beides tun. Wenn ich dabei muß auch in die Datenbank entscheiden, ob ganze Objekte zu laden, die dann auf die Sitzung oder Verwendung Vorsprung angebracht werden, um zusätzliche Daten in die Haufen auf Kosten zusätzlicher Umläufe speichern zu bringen.
Mit Graph ist offensichtlich wesentlich für die Unterstützung Inferenz, obwohl sein langsamer als die Verwendung ARQs
Es gibt einen anderen SPI genannt OpExecutor die dazu beitragen FILTER Auflösung in die Datenbank drücken, damit die Leistung weiter zu verbessern. Im Moment habe ich das gemacht habe auf als Nebenprojekt, das ich auch LGPL-Software freigeben kann.
Andere Tipps
Da Sie verwenden Jena (und ARQ) Ihre SPARQL Abfrage auszuführen, können Sie eine benutzerdefinierte verwenden könnte? FileManager
lösen die Hibernate-Objekte / Graphen (vorausgesetzt, Sie jedes Objekt durch einen Graphen dargestellt werden).
Jena hat eine kurze HOWTO auf eine FileManager
mit Hilfe von Modellen zu finden, und die ARQ RDF-Datensatz tutorial (siehe "Datensätze beschreiben" Abschnitt) können gibt einige Hinweise, wie eine kundenspezifische Zuordnung von graph-URIs (und den Inhalt dieser Graphen als RDF Datensätze) in Ihren bestehenden Hibernate-verwalteten Daten zu tun.
Eine weitere Option könnte eine benutzerdefinierte werden Erstellen von SDB Layout , die Karten Ihre bestehende Hibernate-Schema. Ich weiß nicht, wie flexibel SDB in dieser Hinsicht ist.