-1

DBにRDFグラフとしてデータがあり、SPARQLを使用してデータを取得しています。これで、グラフ内のノード(オブジェクト)が巨大になり、トラバーサル/検索がはるかに遅くなります。

a。誰かがデータをフェッチするための効率的なトラバーサル/検索アルゴリズムを提案できますか?

次のステップとして、私は連合データ、つまりSAPのような外部アプリケーションからのデータを持っています。この場合、検索はさらに遅くなります。

b。この場合、どのような効率的な検索アルゴリズムを使用しますか?

これは大規模なエンタープライズシステムでは一般的な問題のように思われ、そのようなシステムでこれらの問題がどのように解決されたかについての入力も役立ちます。

4

2 に答える 2

0

同様の問題がありました。SPARQL プロパティ パスを使用して多くのグラフ トラバーサルを行っていましたが、RDF ベースのリポジトリを使用すると遅すぎました。高速であるはずの Jena TDB を使用していましたが、それでも遅すぎました。

@Mikosが提案したように、Neo4Jを試しました。その後、はるかに高速になりました。マーク ワトソンがこのブログ エントリで述べているように、

RDF データ ストアは SPARQL クエリをサポートします。データ内のパターンの照合に適しています。

Neo4j は任意のグラフ構造をサポートしており、グラフの近傍を探索するのに最適なようです。ノードから開始して、接続されたノードを探索します。(グラフトラバーサル)

私は Neo4j を使用しましたが、グラフ トラバーサル用に構築された任意のツールを試すことができます。Allegrograph 4 は RDF ベースであり、優れたグラフ トラバーサル速度を備えていると読みました。

現在Neo4jを使用していますが、RDFをあきらめませんでした。私は今でも URI を識別子として使用し、人気のある rdf 語彙と関係を再利用しようとしています。後で、ギャップを RDF としてレンダリングする機能を追加します。Neo4j では、Tinkerpop を使用して RDF をレンダリングすることもできますが、自分で試したことはありません。

于 2012-11-29T01:07:23.067 に答える
-1

グラフ トラバーサルと効率的なクエリは広範囲にわたる問題であり、使用するアプローチは状況によって異なります。Neo4j のようなデータストアを見て、Lucene のようなツールでそれを補完することをお勧めします。

于 2012-07-31T11:50:53.423 に答える