グラフの関係を作成するための単純なJava APIを見つけようとしています。これには、addEdge()
、addNode()
、isConnected(node1, node2)
、findPaths(node1, node2)
など。UIは必要ありません。ロジックだけが必要です。
たくさんの学術プロジェクトを見つけましたが、どれも "The Definitive Graph API"ではないようです。
誰かがそのようなAPIについて知っていますか?
JGraphT あなたが求めているもののように聞こえます。
JGraphTは、数学的なグラフ理論オブジェクトとアルゴリズムを提供する無料のJavaグラフライブラリです。JGraphTは、さまざまなタイプのグラフをサポートしています。
彼らのAPIは、さまざまな入力からグラフを作成でき、addVertex
、addEdge
を使用したグラフの作成もサポートしています。それらは、ベルマンフォード法やダイクストラ法などのさまざまなよく知られたアルゴリズムを使用して最短経路を見つけることをサポートします。また、完全な javadocはオンラインで入手可能 もあります。
[〜#〜] jdls [〜#〜] は、一般的なグラフとデータ構造に最適なライブラリです。 Grappa ライブラリを使用することもできます。その利点は、グラフのレイアウトに graphViz ライブラリを使用できることです。
間違いなく試してみてください http://neo4j.org/ これはJavaで書かれた素晴らしいグラフデータベースですが、非常に小さなアプリケーションにも組み込みデータベースとして機能します。
このデータベースには、数十億のノードを格納する予定がある場合でも、必要なものがすべて揃っています。幸運を。
本当にまともなものはここで見つけることができます: http://javaddlib.sourceforge.net/jdd/
Jdigraphは さらに別の グラフライブラリです。
[〜#〜] jung [〜#〜] — Java Universal Network/Graph Framework-は利用可能な最速の1つです(CERN数学ライブラリCOLTの実装) 、特にグラフ分析、中心性測定(betweennes、pagerankなど)を実行する場合。さらに、ネットワークの視覚化が可能になります。