Neo4j は非常に高速でスケーラブルなグラフ データベースです。ビジネス プロジェクトで使用できるようで、しかも無料です。
同時に、大規模なデータをうまく処理したり、高速アクセスを提供したりする RDF トリプル ストアはありません。さらに、無料の RDF トリプル ストアのパフォーマンスはさらに低下します。
では、Neo4j に対する RDF および RDF トリプル ストアの利点は何でしょうか?
Neo4j ではなく RDF にトリプル ストアを使用する利点は、そのために設計されていることです。Neo4j は多くのユースケースで非常に優れていますが、私の経験では、RDF の読み込みとクエリのパフォーマンスは、すべての専用 RDF データベースを大きく下回っています。
RDF データベースがスケーリングしない、または高速でないというのは誤りです。確かに、リレーショナル データベースのパフォーマンスと規模のレベルにはまだ達していませんが、50 年先を行っています。多くのトリプル ストアは、数十億のトリプルにスケールし、「標準」のエンタープライズ機能を提供し、多くのユース ケースに優れたパフォーマンスを提供します。
プロジェクトで RDF を使用する場合は、トリプル ストアを使用します。RDF を使用してアプリケーションを構築するための最高のパフォーマンスと一連の機能/API を提供します。
RDFとSPARQLは標準であるため、複数の実装を選択でき、データを1つのRDFストアから別のRDFストアに移行できます。
さらに、SPARQLクエリ言語のバージョン1.1は非常に洗練されており(ほとんどのSQL実装よりも表現力があります)、Neo4Jで多くのコードを記述する必要があるあらゆる種類のクエリを実行できます。
トリプルでグラフ マイニング (グラフ トラバーサルなど) を行う場合は、neo4j が適しています。大きなトリプルの場合は、かなり高速な batchInserter を使用することをお勧めします。
10M トリプルを Neo4j にロードするのに丸一日かかるという噂を聞いたことがあります (主に RDF 用に構築されていないため、実際には最も遅いものです)。
Sesame と 4Store が最も高速ですが、Jena には強力な API があります。