web-dev-qa-db-ja.com

グラフ(エッジ+ノード)を作成するための単純なJava API)を探しています

グラフの関係を作成するための単純なJava APIを見つけようとしています。これには、addEdge()addNode()isConnected(node1, node2)findPaths(node1, node2)など。UIは必要ありません。ロジックだけが必要です。

たくさんの学術プロジェクトを見つけましたが、どれも "The Definitive Graph API"ではないようです。

誰かがそのようなAPIについて知っていますか?

18
David Koelle

JGraphT あなたが求めているもののように聞こえます。

JGraphTは、数学的なグラフ理論オブジェクトとアルゴリズムを提供する無料のJavaグラフライブラリです。JGraphTは、さまざまなタイプのグラフをサポートしています。

彼らのAPIは、さまざまな入力からグラフを作成でき、addVertexaddEdgeを使用したグラフの作成もサポートしています。それらは、ベルマンフォード法やダイクストラ法などのさまざまなよく知られたアルゴリズムを使用して最短経路を見つけることをサポートします。また、完全な javadocはオンラインで入手可能 もあります。

11
Ben S

[〜#〜] jdls [〜#〜] は、一般的なグラフとデータ構造に最適なライブラリです。 Grappa ライブラリを使用することもできます。その利点は、グラフのレイアウトに graphViz ライブラリを使用できることです。

3
paweloque

間違いなく試してみてください http://neo4j.org/ これはJavaで書かれた素晴らしいグラフデータベースですが、非常に小さなアプリケーションにも組み込みデータベースとして機能します。

このデータベースには、数十億のノードを格納する予定がある場合でも、必要なものがすべて揃っています。幸運を。

2
Marcin Kapusta

本当にまともなものはここで見つけることができます: http://javaddlib.sourceforge.net/jdd/

0
MahdeTo

Jdigraphさらに別の グラフライブラリです。

0
erickson

[〜#〜] jung [〜#〜] — Java Universal Network/Graph Framework-は利用可能な最速の1つです(CERN数学ライブラリCOLTの実装) 、特にグラフ分析、中心性測定(betweennes、pagerankなど)を実行する場合。さらに、ネットワークの視覚化が可能になります。

0
Federico Giorgi