2012-10-21 16 views
5

Ich möchte eine Web-App mit Rails schreiben, die RDF verwendet, um verknüpfte Daten darzustellen. Aber ich weiß wirklich nicht, was der beste Ansatz ist, um RDF-Graphen in einer Datenbank für persistenten Speicher zu speichern. Außerdem möchte ich etwas wie paper_trail verwenden, um Versionsdatenbankobjekte bereitzustellen.Wie speichert man RDF-Graphen in einem Datenspeicher?

Ich las über RDF.rb und ActiveRDF. RDF.rb enthält jedoch keine Schicht zum Speichern von Daten in einer Datenbank. Was ist mit ActiveRDF?

Ich bin neu in RDF. Was ist der beste Ansatz, um große RDF-Graphen mit Rails zu bearbeiten?

Edit:

fand ich 4Store und AllegroGraph was on Rails für Ruby passt. Ich habe gelesen, dass 4Store kostenlos ist und AllegroGraph in der kostenlosen Version auf 50 Millionen Tripel beschränkt ist. Was sind die Vorteile von jedem von ihnen?

Danke.

+1

Vielleicht sollten Sie ein Produkt wie Fuseki zum Speichern Ihrer RDFs in Erwägung ziehen. Und wenn Sie eine Versionierung benötigen, sollten Sie überlegen, Versionsinformationen zu Ihrem Datenmodell hinzuzufügen. –

+0

Danke. Das hat mir geholfen, einige Repository-Alternativen zu finden. Also habe ich 4Store, AllegroGraph und einige andere gefunden. Was sind die Vorteile von Fuseki? – sn3ek

Antwort

4

Ihre Datenbankübersicht ist ziemlich unvollständig. Es gibt auch BigData, OWLIM, Stardog, Virtuoso, Sesame, Mulgara und TDB oder SDB, die von Jena zur Verfügung gestellt werden.

Zur Verdeutlichung ist Fuseki nur eine Serverkomponente für ein Backend, das die Jena-API unterstützt, um das SPARQL-Protokoll zu unterstützen. Da Sie Ruby verwenden, interagieren Sie in der Regel mit einer Datenbank - über HTTP mit dem SPARQL-Protokoll. Wahrscheinlich unterstützt jede einzelne Datenbank das SPARQL-HTTP-Protokoll zur Abfrage, und viele unterstützen etwas in der Umgebung des SPARQL-Update-Protokolls, des Graphspeicherprotokolls oder eines ähnlichen benutzerdefinierten HTTP-Protokolls für die Handhabung von Updates.

Wenn Sie also Rails verwenden, ist es am besten, eine Datenbank auszuwählen, einen einfachen Wrapper für das HTTP-Protokoll auszuarbeiten, Unterstützung in einer vorhandenen Ruby-Bibliothek zu suchen und Ihre Anwendung zu erstellen basierend auf dieser Unterstützung.

Versionierung wird in vielen Systemen nicht problemlos unterstützt. Ich denke, es wird immer noch darüber nachgedacht, wie man das in einer RDF-Datenbank richtig macht. Wenn Sie also in Ihrer Anwendung versionieren möchten, müssen Sie etwas Eigenes tun.

Verwandte Themen