2012-10-21 3 views
5

リンクされたデータを表現するためにRDFを使用するものをrailsでWebアプリケーションに書きたいと思っています。しかし、永続的なストレージのためにRDFグラフをデータベース内に格納する最良の方法は何か分かりません。また、私は、バージョニングデータベースオブジェクトを提供するためにpaper_trailのようなものを使いたいと思っています。RDFグラフをデータストレージに格納する方法は?

私はRDF.rbとactiveRDFについて読んでいます。しかし、RDF.rbにはデータベースにデータを格納するレイヤーは含まれていません。 activeRDFはどうですか?

私はRDFを初めて使っています。レールを持つ大規模なRDFグラフを扱う最良のアプローチは何ですか?

編集:

私は4StoreとRuby on Railsのために合うものをAllegroGraphを見つけました。私は、4Storeは完全無料であり、AllegroGraphは無料版では5千万のトリプルに制限されていると読んでいます。それぞれのメリットは何ですか?

ありがとうございました。

+1

おそらく、あなたはRDFを格納するためにFusekiなどの製品を使用することを検討する必要があります。バージョン管理が必要な場合は、バージョン情報をデータモデルに追加することを検討する必要があります。 –

+0

ありがとうございます。それはいくつかのリポジトリの代替案を見つけるのに役立ちました。そこで私は4Store、AllegroGraphなどを見つけました。 Fusekiの利点は何ですか? – sn3ek

答えて

4

あなたのデータベース調査はかなり不完全です。 BigData,OWLIM,Stardog,Virtuoso,Sesame,Mulgara、およびTDBまたはSDBもJenaである。

Fusekiは、Jena APIをサポートしてSPARQLプロトコルをサポートするバックエンドの単なるサーバーコンポーネントです。一般的にRubyを使用しているので、これはSPARQLプロトコルを使用してHTTP経由でデータベースと対話する方法です。おそらくすべての単一データベースは照会のためのSPARQL HTTPプロトコルをサポートしており、多くはSPARQL更新プロトコル、グラフストアプロトコル、またはアップデートを処理する同様のカスタムHTTPプロトコルのいずれかの野球で何かをサポートするでしょう。

もしあなたがRailsを使って設定しているのであれば、データベースを選び、HTTPプロトコルのための単純なラッパーを作って、既存のRubyライブラリがあればそれをフォークし、そのサポートに基づいています。

バージョン管理は、多くのシステムで容易にサポートされていないものです。私は、RDFデータベースでそれを正しく行う方法にはまだまだ多くの考えがあると思います。あなたのアプリケーションでバージョン管理をしたいのであれば、あなたは何かカスタムを行う必要があります。

関連する問題