Neo4j と AllegroGraph の 2 つのグラフ データベースの違いは何ですか? Java Web プログラミングにはどちらが適していますか?
5 に答える
RDF + SPARQL(両方の製品がサポート)を選択する理由がない場合、Neo4jはプロパティグラフ(ノード+関係+両方のプロパティ)を操作するためのクリーンなJavaAPIを提供します。Webアプリケーションについては、Spring Frameworkを使用した例を作成しました。これは、ワークショップとして簡略化されたバージョンでも存在します。
免責事項:明らかに私はNeo4jチームに所属しており、AllegroGraphに関する深い知識はありません。
SPARQL クエリをサポートしているため、Neo4j ではなく AllegroGraph を選択しました。グラフをトラバースする Neo4j のアプローチは、特により複雑な検索操作の場合、整頓されていないように思えました。
...いいえ、私はどちらの組織にも所属していません。
もう 1 つの考慮事項は、ライセンスです。AllegroGraph の無料版は、トリプルが 5000 万未満であれば使用できます。http://www.franz.com/agraph/allegrograph/ag_commercial_edition.lhtmlを参照してください。
プロジェクトがコミュニティ エディションを使用している限り、Neo4j は無料です。Neo4j ソースを変更する場合のみ、変更をオープンソース化する必要があります。基本的なライセンス条項は、彼らのホームページにあります: http://neo4j.org/
AllegroGraph には、Jena と Sesame という 2 つの標準 Java セマンティック API をサポートする Java クライアント ライブラリがあります。クライアント ソースは github の EPL です。AG は、sparql、トランザクション、推論、地理空間、時間、およびグラフ分析をサポートしています。Web アプリ専用の追加機能はありませんが、ライブラリとしてあらゆるフレームワークに適合します。
(私はフランツで働いています。)
SPARQL に加えて、AllegoGraph では Prolog ルールとクエリを作成できます。複雑なクエリ ロジックの場合、SPARQL よりもはるかに表現力があります。
Java クライアント チュートリアルにいくつかの例があります: http://www.franz.com/agraph/support/documentation/v4/java-tutorial/java-tutorial-40.html