7

ヘルプ!これらの形式のいずれかでグラフ生成するJava アプリケーションを作成しようとしています。

  • .graphml
  • .ygf
  • .gml
  • .tgf

グラフ エディタyEd」でファイルを開くことができる必要があります。

これまでのところ、次の解決策を見つけました。

  1. Java 用の y ファイル
    • 長所:graphmlにエクスポートし、yEdで開くことができ、Javaベースで完璧です。
    • 使えない理由: 使うのに2000 ドル以上かかります :( まさに私が必要とするものです
  2. ゲフィ
    • プロ: 無料、graphml へのエクスポート、Java ベース!
    • 使用できない理由: 生成された graphml ファイルを yEd で開こうとすると、graphml が壊れています: このスクリーンショットのように 1 行で線形です:
    • ここに画像の説明を入力
    • これで動くようになれば完璧です
    • 私が試したグラフは、サンプルプロジェクトを使用して生成されました
  3. JGraphX
    • 長所: グラフを生成できる、Java ベース、無料
    • 使えない理由: 生成されたグラフをgraphmlにエクスポートするには? 私はそれを理解できませんでした...
  4. プレフューズ
    • 長所: 無料、グラフ生成、Java ベース
    • 使えないもの: graphml しか読めず、graphmlを書けないようです。また、build.sh all で問題なくデモをビルドしましたが、demos.jar を実行しようとすると、「Failed to load Main-Class」というメッセージが表示されました...
  5. GraphML リーダーおよびライター ライブラリを使用したブループリント( Tinkerpop ?)
    • 長所:Java、無料、それでgraphmlをエクスポートできるようです
    • 使用できない理由: 混乱しています。リストされている「実装」のいずれかと組み合わせて使用​​する必要がありますか? これをどのように使用しますか?
  6. GraphMLExporter使用したJGraphT
    • 長所: グラフを生成でき、Java ベースで、無料で、graphml にエクスポートできると思います
    • 使えない理由:エクスポートの仕方がわかりません!生成されたgraphmlをyedで開こうとすると、「yEdで次のエラーが発生しました:ファイルtest.graphmlをインポートできませんでした。」というメッセージが表示されました。サンプルプロジェクトを使用して、これを行いました:

私が使用したJGraphTコード:

UndirectedGraph<String, DefaultEdge> g = new SimpleGraph<String, DefaultEdge>(DefaultEdge.class);

String v1 = "v1";
String v2 = "v2";
String v3 = "v3";
String v4 = "v4";

// add the vertices
g.addVertex(v1);
g.addVertex(v2);
g.addVertex(v3);
g.addVertex(v4);

// add edges to create a circuit
g.addEdge(v1, v2);
g.addEdge(v2, v3);
g.addEdge(v3, v4);
g.addEdge(v4, v1);


FileWriter w;
try {
GmlExporter<String, DefaultEdge> exporter = 
    new GmlExporter<String, DefaultEdge>(); 
    w = new FileWriter("test.graphml");
    exporter.export(w, g);
} catch (IOException e) {
    e.printStackTrace();
}

何か案は?ありがとう!

4

5 に答える 5

8

回答が遅くなるかもしれませんが、解決策その 2: グラフを yEd にインポートした直後に、[レイアウト] をクリックしていずれかを選択します。yed はデフォルトとして 1 つを選択しません。そのため、線形のように見えました。

于 2015-02-26T10:48:55.883 に答える
2

これがあなたのユースケースに当てはまるかどうかはわかりませんが、neo4jを使用してグラフを作成し、 neo4j-shell-toolsを使用してグラフを graphml としてエクスポートします。おそらくこれはあなたのために働くでしょう。

于 2014-04-29T07:23:28.370 に答える
2

また、yED 用に JgraphT グラフをエクスポートしたかったのですが、結果に満足できませんでした。したがって、yED 固有の GML 形式 (グループ、色、さまざまなエッジなど) をサポートする拡張 GMLWriter を作成しました。

GML-Writer-for-yED

于 2017-01-18T11:20:28.643 に答える
1

私は de Prefuse ライブラリを使用しており、クラス GraphMLWriter を使用して Graph オブジェクトから GraphML ファイルを生成できます。

于 2016-12-09T03:00:23.663 に答える