6

最近、Neo4j からグラフを視覚化できるいくつかのライブラリを調べましたが、どれを選択すればよいか明確なビューが得られなかったので、いくつか共有したいと思います。

私の要件と希望 - 暗号クエリを使用して REST API を検索した後、すべての関係、ノードを含むグラフを視覚化します。結果はインタラクティブになります - ドラッグ/ドロップが可能です... クリックで他のノード/rels を表示する機会。json データを介してノードをインポートし、少なくとも 400 個の要素まですばやく表示できます。

それで、私は多かれ少なかれさらなるライブラリを探索しました:

Three.js - 主に 3D 用。(3D が必要ない場合は、これを選択しない方がよい)

Arbor.js - 描画はあなた次第、主にレイアウト ライブラリ

VivaGraphJS - 使いやすいですが、ドキュメントはほとんどありません :(

D3.js - 見栄えは良いが SVG を使用

Cytoscape.js - 問題ないように見えますが、Neo4j では使用できないと読みました。 D3.js は、Neo4j グラフ DB データのリアルタイム ビジュアライゼーションに適しているのは なぜですか?

Processing.js - Java に似た独自の言語を持っています。私は (まだ) Java のような言語にはあまり詳しくありません。

いくつか質問があります。

1) あなたの経験は何ですか - ライブラリの利点、弱点は?

2) SVG の代わりにキャンバスを使用したいと思いますか? (画面上の多くの小さな要素)。

3) Arbor はレイアウト用の特別なライブラリですが、他のライブラリにはレイアウト アルゴリズムがありませんか?

どんな意見でも構いません!:-)

4

4 に答える 4

5

私は似たような状況を考えました。私は sigma.js を選びました。

1) あなたの経験は何ですか - ライブラリの利点、弱点は?

sigma.js は、グラフ レンダリングに固有です。d3 は、視覚化のための完全なツールボックスです。グラフを描画するだけなので、簡潔な sigma.js インターフェイスの方が使いやすかったです。これは、 sigma.js がどのようにインクリメンタル レンダリングを実行できるかについて作成者が話しているビデオだと思います。これにより、パフォーマンスが向上し、より多くの頂点/エッジをスムーズに処理できます。

2) SVG の代わりにキャンバスを使用したいと思いますか? (画面上の多くの小さな要素)。

sigma.js はキャンバスにレンダリングします。

以下はsigma.js の例です。「ノードを非表示」の例は、マウスの操作を示しています。さらに、node.js で記述された非常に少量のデータ マッサージ コードを使用して、neo4j と sigma を簡単に統合する方法を示すブログ投稿があります。これを任意のサーバー言語に移植するのは簡単です。

于 2013-09-05T12:19:45.217 に答える
0

Gephi はあなたのリストにありません。スタンドアロンのビジュアライザー/エディターとして、私が使用した中で最高のものです (neo4j プラグインを入手するだけで、データベースのソース ファイルをインポートして表示できます)。また、オープンソースであるため、プロジェクトの一部として含めることができます。

于 2014-05-28T09:54:23.380 に答える