16. Copyright ?2017 CREATIONLINE, INC. All Rights Reserved
? 基本的にforceを使うのだが、D3.js の version 3 と version 4で大きく書式が変わっている。世
の中ぐぐるとVersion 3のサンプルが出てきてハマる
? 元のグラフデータの整合性をぴったり合わせないとD3の描画でエラーが出てハマる。しかもエ
ラーの内容が直感的にわかるような内容ではないため原因がわからずハマる
? forceは有向グラフを表現できない
? スタイルは綺麗にやろうとするとそれはそれでハマる。文字とか収まらないし
? 全般的に問題があったときのエラーが不親切。何が原因でうまく動かないのかよくわからずハ
マる
???ということで本質と関係ないところでやたらと
ハマり時間をくう。デモに惑わされて手を出すと
痛い目をみる(ホントあいつらよくやるわ???)。
ユースケースも選ぶ(有向グラフ非対応)ので。。。
オススメ度
低
実際に作ってみて (D3.js)
17. Copyright ?2017 CREATIONLINE, INC. All Rights Reserved
オススメ度
中
実際に作ってみて (GraphViz)
? あっけなくできてしまった。全く何もないところから始めて1時間程度で絵まで出せる。
? 有向/無向グラフともに表現できる
? ノードやリレーションシップの重複もよきように取り計らってくれる
? スタイルは???あってなきが如し。味も素っ気もないけどノードの文字がちゃんとノードの
中に入るなど、最低限のことはやってくれる
? SVG/PNGなどの出力も可能。ちょっとした構造データ程度であればこれでいいかも。???面
白みは全くないけど
???まあ、面白みもへったくれもないけどお手軽に
できるし、最低限出すべきものは出せる、ということで
18. Copyright ?2017 CREATIONLINE, INC. All Rights Reserved
? さすがグラフデータ専用。D3.jsの困難に比べるとめっちゃ楽勝。2~3時間程度でOK。これくら
いでできるならカスタマイズしようかという気にもなる。ノードやリレーションシップをクリ
ックした時のイベントを出すことも簡単。
? 有向/無向グラフともに表現できる。ノードやリレーションシップの重複もよきように取り計ら
ってくれる
? スタイルもいろいろできる。アニメーションはバッチ的なことはできるけど、D3.jsみたいなび
ょんびょんしたの(force, collide)はできなさそう
? 描画エリアはdiv+canvas。画面をそのままSVGで
出すとかは手間がかかりそう。別途javascriptで
組めばSVG/JPGなどの出力も可能。高さを
事前にstyleで指定しておかないといけない
???これならいろいろカスタマイズしても
よさそう、ということで
オススメ度
高
実際に作ってみて (Cytoscape)
19. Copyright ?2017 CREATIONLINE, INC. All Rights Reserved
? Cytoscape.jsと同等の簡便さ。1時間程度でサクっとできる。機能を個別にjsプラグインで実装
しているのでいちいちインポートするのが面倒といえば面倒。プラグインの組み合わせによっ
てはイマイチな結果になることもある(例えばforce-layoutとnode-drugを組み合わせたり)。
? 有向/無向グラフともに表現できる???が!アローがめちゃくちゃ小さい!(いちおうカスタマ
イズできるけど) おしゃれにしたつもりなんだろうか???
? スタイルも変えられるけど、なんというか、控えめ。D3.jsみたいなびょんびょんしたの(force,
collide)もできるけど、他の機能とバッティングが???
? 描画エリアはdiv+canvas。画面をそのままSVGで
出すとかは手間がかかりそう。別途javascriptで
組めばSVG/JPGなどの出力も可能。高さを
事前にstyleで指定しておかないといけない
???おおむねCytoscape.jsと同等だけど、表現力が
イマイチなところもあり
オススメ度
中
実際に作ってみて (LINKURIOUS(Sigma.js))
20. Copyright ?2017 CREATIONLINE, INC. All Rights Reserved
? Cytoscape.jsと同等の簡便さ。1時間程度でサクっとできる。1つのjsに機能が全部入っているの
で簡単
? Javascriptの組み方がめっちゃ今風というか、コールバックの嵐。慣れていれば、まあ、いける
(最近の人は難なくいけるよね!?)
? 有向/無向グラフともに表現できる
? スタイルもわりといい感じ。データのスタイル表現にちょっと癖が(まあOKの範疇)
? 描画エリアはdiv+canvas。画面をそのままSVGで出すとかは手間がかかりそう。別途javascript
で組めばSVG/JPGなどの出力も可能
???おおむねCytoscape.jsと同等
表現力もあり。有償サポートが必要であれば
こっちもいけるなー、ということで
オススメ度
高
実際に作ってみて (KeyLines)
21. Copyright ?2017 CREATIONLINE, INC. All Rights Reserved
まとめ!!
こういう人に向いてます
D3.js 全てをかなぐり捨ててびよんびよん感を追求したい人
GraphViz 論文さえかければいい人
Cytoscape いけてる感じの可視化をしたい人
LINKURIOUS(Sigma.js) ビミョーな感じをかもし出したい人
KeyLines いけてる感じの可視化をして、
メーカーのサポートが欲しい人
22. Copyright ?2017 CREATIONLINE, INC. All Rights Reserved
Neo4jとの接続についてはboltで行って、
可視化ライブラリに合わせてjavascriptで成形できるので可
視化ライブラリがNeo4jをサポートしているかどうかはあ
まり気にしなくてもいいです。
(このデモではNeo4jへのアクセスはぜんぶboltです)
23. Copyright ?2017 CREATIONLINE, INC. All Rights Reserved
今回のソースコードは
https://github.com/m-kiuchi/neo4j-vizsample
においておきましたので
煮るなり焼くなりご自由に!