2012-10-21 46 views
5

我想用rails來編寫一個web應用程序,它使用RDF來表示鏈接的數據。但我真的不知道將RDF圖存儲在數據庫中以實現永久存儲的最佳方法。另外我想使用類似paper_trail的東西來提供版本控制數據庫對象。如何在數據存儲中存儲RDF圖?

我讀了關於RDF.rb和activeRDF。但是RDF.rb不包含一個圖層來存儲數據庫中的數據。那麼關於activeRDF呢?

我是新來的RDF。使用rails處理大型RDF圖的最佳方法是什麼?

編輯:

我發現4StoreAllegroGraph的Ruby on Rails的什麼適合。我讀到,4Store完全免費,AllegroGraph在免費版本中僅限於5000萬個三元組。他們每個人的優點是什麼?

謝謝。

+1

也許你應該考慮使用諸如Fuseki的產品來存儲你的RDF。如果您需要版本控制,我認爲您應該考慮將版本信息添加到您的數據模型中。 –

+0

謝謝。這幫助我找到了一些替代方案。所以我找到了4Store,AllegroGraph等。 Fuseki有什麼優點? – sn3ek

回答

4

您的數據庫調查相當不完整。還有BigData,OWLIM,Stardog,Virtuoso,Sesame,Mulgara,以及由Jena提供的TDB或SDB。

爲了說明起見,Fuseki只是一個後端的服務器組件,支持Jena API爲SPARQL協議提供支持。一般來說,由於您使用的是Ruby,因此您將如何與數據庫進行交互 - 通過使用SPARQL協議的HTTP進行交互。可能每個數據庫都支持用於查詢的SPARQL HTTP協議,並且許多支持SPARQL更新協議,圖形存儲協議或用於處理更新的類似自定義HTTP協議。

因此,如果你使用Rails,那麼你最好的選擇是選擇一個數據庫,爲HTTP協議創建一個簡單的包裝器,如果存在的話,可能會在現有的Ruby庫中分支支持,並構建你的應用程序基於這種支持。

版本控制在很多系統中都不太受支持。我認爲在RDF數據庫中如何正確地做到這一點還有很多想法。很可能,如果你想在你的應用程序中進行版本控制,你將不得不做一些自定義的事情。

相關問題