SlideShare a Scribd company logo
Copyright ⓒ2017 CREATIONLINE, INC. All Rights Reserved
Neo4jの可視化ライブラリ(あらためて)まとめ
クリエーションライン株式会社
木内 満歳
2017/6/9 Neo4j勉強会 #11 資料
Copyright ⓒ2017 CREATIONLINE, INC. All Rights Reserved
自己紹介 木内 満歳(きうち みつとし)
クリエーションライン株式会社 シニアコンサルタント
Slideshare: http://www.slideshare.net/mkiuchi4
各種寄稿
a. gihyo.jp: “Mesosphere DCOSでつくるクラウドアプリケーション”
b. 日経クラウドファースト2016年6月 “Azure IoT Suiteの評価”
c. Codezine: “機械学習をクラウドで手軽に体験! BluemixのApache Sparkで異常
なセンサーデータを洗い出す”
各種講演
a. Developer Summit 2016 Summer
b. 日経BP社 “パブリッククラウド導入の企画提案力養成講座”
c. Cloudweek Hokkaido 2015/2016
d. 政策研究大学院大学 科学技術イノベーション政策研究センター
「科学技術イノベーション政策のための科学オープンフォーラム」
専門分野:Apache Mesos, Apache Spark, 分散コンピューティング, クラウドコンピューテ
ィング, NoSQL DB, グラフDB
O’reilley Certified Developer on Apache Spark
Docker Certified Technical Trainer
Copyright ⓒ2017 CREATIONLINE, INC. All Rights Reserved
クリエーションライン株式会社
Copyright ⓒ2017 CREATIONLINE, INC. All Rights Reserved
人材募集中です
• クリエーションラインでは「われこそは!」という人材を募集しています
– クラウド・Docker
– IoT
– データ分析
– DevOps/構成自動化(Chefなど)
https://www.creationline.com/recruit
Copyright ⓒ2017 CREATIONLINE, INC. All Rights Reserved
本題:
Neo4jの可視化ライブラリ(あらためて)まとめ
Copyright ⓒ2017 CREATIONLINE, INC. All Rights Reserved
Neo4j ユーザー勉強会 #6(2016.1.25)も見てください
株式会社インテリジェンス
清田 馨一郎さん
[Slideshare]
https://www.slideshare.net/keiichiroseida/neo4j-57449613
Copyright ⓒ2017 CREATIONLINE, INC. All Rights Reserved
Neo4j可視化ライブラリを使うとき
• 可視化ライブラリを使う理由
– Neo4jに付属するブラウザではデータの変更もできてしまうので見せ
るだけにしたい
– 特定のクエリの結果を見せたい
– Neo4jブラウザではできないような見せ方をしたい
• ノードのアイコンを変えたり、条件によってバッジをつけたい
• ノード(サブグラフ)をグループ化したい
• クエリを変更せずに結果をフィルタリングしたい
• 別のコンポーネントと併用したい(ボタン、プルダウン、など)
Copyright ⓒ2017 CREATIONLINE, INC. All Rights Reserved
D3.js
• みんなだいすきD3.js
• 最近の可視化ではデファクト
• Javascriptがかけない人は厳しい
• そもそもグラフデータ専用ではない
のでNeo4jのグラフを可視化したい
という用途には困難な道かも・・・
https://d3js.org/
Copyright ⓒ2017 CREATIONLINE, INC. All Rights Reserved
GraphViz
• アカデミック系の人に好まれるイメージ
• インタラクティブなグラフは作れない?
• Pythonバインディングがある
http://www.graphviz.org/
Copyright ⓒ2017 CREATIONLINE, INC. All Rights Reserved
Cytoscape
• 可視化ライブラリというよりは可視化
アプリケーション
• 日本人の開発者がいる
• Neo4jとの接続は直接はサポートされ
ていない(機能拡張*でサポート)
• Javascriptの可視化ライブラリ -
Cytoscape.js がある。ある程度のグラ
フ分析アルゴリズムも同梱されている
(ダイクストラ探索(ShortestPath)、
PageRankなど)
http://www.cytoscape.org/
* cyNeo4j: http://apps.cytoscape.org/apps/cyneo4j
Copyright ⓒ2017 CREATIONLINE, INC. All Rights Reserved
LINKURIOUS(Sigma.js)
• 可視化ライブラリ&アプリケーション
• ICIJのパナマ文書分析に採用され、い
ちやく有名に
• 可視化ライブラリ部分をオープンソー
スにした Sigma.js がある
http://sigmajs.org/
プラグインでNeo4jからのロードも可
能
※Linkurious.jsはdeprecated、Ogmaは
有償
https://linkurio.us/
商用
Copyright ⓒ2017 CREATIONLINE, INC. All Rights Reserved
• 可視化ライブラリ
• 開発はjavascript
• 完全クローズドソース
• Neo4jとの接続可能。他のデータソー
スとのコネクタもある
• 可視化の機能はけっこうある
https://cambridge-intelligence.com/keylines/
商用
Copyright ⓒ2017 CREATIONLINE, INC. All Rights Reserved
みんな大好き星取表
無償? 言語 機能
オートレイ
アウト
グループ化 カスタムス
タイル
アニメーシ
ョン
フィルタリ
ング
D3.js ◯ Javascript ◯ ☓. △ ◯ ☓
GraphViz ◯ 独自(DOT
言語),
Python
◯ △ △ ☓. ☓
Cytoscape ◯ Javascript ◯ △ ◯ ◯ ◯
LINKURIOUS
(Sigma.js)
△ Javascript ◯ ☓ ◯ ◯ ◯
KeyLines ☓ Javascript ◯ ◯ ◯ ◯ ◯
Copyright ⓒ2017 CREATIONLINE, INC. All Rights Reserved
「で、実際どうなの!?」
Copyright ⓒ2017 CREATIONLINE, INC. All Rights Reserved
デモ (時間の許す限り・・・)
Copyright ⓒ2017 CREATIONLINE, INC. All Rights Reserved
• 基本的にforceを使うのだが、D3.js の version 3 と version 4で大きく書式が変わっている。世
の中ぐぐるとVersion 3のサンプルが出てきてハマる
• 元のグラフデータの整合性をぴったり合わせないとD3の描画でエラーが出てハマる。しかもエ
ラーの内容が直感的にわかるような内容ではないため原因がわからずハマる
• forceは有向グラフを表現できない
• スタイルは綺麗にやろうとするとそれはそれでハマる。文字とか収まらないし
• 全般的に問題があったときのエラーが不親切。何が原因でうまく動かないのかよくわからずハ
マる
・・・ということで本質と関係ないところでやたらと
ハマり時間をくう。デモに惑わされて手を出すと
痛い目をみる(ホントあいつらよくやるわ・・・)。
ユースケースも選ぶ(有向グラフ非対応)ので。。。
オススメ度
低
実際に作ってみて (D3.js)
Copyright ⓒ2017 CREATIONLINE, INC. All Rights Reserved
オススメ度
中
実際に作ってみて (GraphViz)
• あっけなくできてしまった。全く何もないところから始めて1時間程度で絵まで出せる。
• 有向/無向グラフともに表現できる
• ノードやリレーションシップの重複もよきように取り計らってくれる
• スタイルは・・・あってなきが如し。味も素っ気もないけどノードの文字がちゃんとノードの
中に入るなど、最低限のことはやってくれる
• SVG/PNGなどの出力も可能。ちょっとした構造データ程度であればこれでいいかも。・・・面
白みは全くないけど
・・・まあ、面白みもへったくれもないけどお手軽に
できるし、最低限出すべきものは出せる、ということで
Copyright ⓒ2017 CREATIONLINE, INC. All Rights Reserved
• さすがグラフデータ専用。D3.jsの困難に比べるとめっちゃ楽勝。2~3時間程度でOK。これくら
いでできるならカスタマイズしようかという気にもなる。ノードやリレーションシップをクリ
ックした時のイベントを出すことも簡単。
• 有向/無向グラフともに表現できる。ノードやリレーションシップの重複もよきように取り計ら
ってくれる
• スタイルもいろいろできる。アニメーションはバッチ的なことはできるけど、D3.jsみたいなび
ょんびょんしたの(force, collide)はできなさそう
• 描画エリアはdiv+canvas。画面をそのままSVGで
出すとかは手間がかかりそう。別途javascriptで
組めばSVG/JPGなどの出力も可能。高さを
事前にstyleで指定しておかないといけない
・・・これならいろいろカスタマイズしても
よさそう、ということで
オススメ度
高
実際に作ってみて (Cytoscape)
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))
Copyright ⓒ2017 CREATIONLINE, INC. All Rights Reserved
• Cytoscape.jsと同等の簡便さ。1時間程度でサクっとできる。1つのjsに機能が全部入っているの
で簡単
• Javascriptの組み方がめっちゃ今風というか、コールバックの嵐。慣れていれば、まあ、いける
(最近の人は難なくいけるよね!?)
• 有向/無向グラフともに表現できる
• スタイルもわりといい感じ。データのスタイル表現にちょっと癖が(まあOKの範疇)
• 描画エリアはdiv+canvas。画面をそのままSVGで出すとかは手間がかかりそう。別途javascript
で組めばSVG/JPGなどの出力も可能
・・・おおむねCytoscape.jsと同等
表現力もあり。有償サポートが必要であれば
こっちもいけるなー、ということで
オススメ度
高
実際に作ってみて (KeyLines)
Copyright ⓒ2017 CREATIONLINE, INC. All Rights Reserved
まとめ!!
こういう人に向いてます
D3.js 全てをかなぐり捨ててびよんびよん感を追求したい人
GraphViz 論文さえかければいい人
Cytoscape いけてる感じの可視化をしたい人
LINKURIOUS(Sigma.js) ビミョーな感じをかもし出したい人
KeyLines いけてる感じの可視化をして、
メーカーのサポートが欲しい人
Copyright ⓒ2017 CREATIONLINE, INC. All Rights Reserved
Neo4jとの接続についてはboltで行って、
可視化ライブラリに合わせてjavascriptで成形できるので可
視化ライブラリがNeo4jをサポートしているかどうかはあ
まり気にしなくてもいいです。
(このデモではNeo4jへのアクセスはぜんぶboltです)
Copyright ⓒ2017 CREATIONLINE, INC. All Rights Reserved
今回のソースコードは
https://github.com/m-kiuchi/neo4j-vizsample
においておきましたので
煮るなり焼くなりご自由に!
Copyright ⓒ2017 CREATIONLINE, INC. All Rights Reserved
みなさんの健闘を祈ります

More Related Content

What's hot

初心者向けMongoDBのキホン!
初心者向けMongoDBのキホン!初心者向けMongoDBのキホン!
初心者向けMongoDBのキホン!
Tetsutaro Watanabe
 
本当は恐ろしい分散システムの話
本当は恐ろしい分散システムの話本当は恐ろしい分散システムの話
本当は恐ろしい分散システムの話
Kumazaki Hiroki
 
テストコードの DRY と DAMP
テストコードの DRY と DAMPテストコードの DRY と DAMP
テストコードの DRY と DAMP
Yusuke Kagata
 
それはYAGNIか? それとも思考停止か?
それはYAGNIか? それとも思考停止か?それはYAGNIか? それとも思考停止か?
それはYAGNIか? それとも思考停止か?
Yoshitaka Kawashima
 
深層学習による自然言語処理入門: word2vecからBERT, GPT-3まで
深層学習による自然言語処理入門: word2vecからBERT, GPT-3まで深層学習による自然言語処理入門: word2vecからBERT, GPT-3まで
深層学習による自然言語処理入門: word2vecからBERT, GPT-3まで
Yahoo!デベロッパーネットワーク
 
Pythonによる黒魔術入門
Pythonによる黒魔術入門Pythonによる黒魔術入門
Pythonによる黒魔術入門
大樹 小倉
 
REST API のコツ
REST API のコツREST API のコツ
REST API のコツ
pospome
 
マイクロサービス 4つの分割アプローチ
マイクロサービス 4つの分割アプローチマイクロサービス 4つの分割アプローチ
マイクロサービス 4つの分割アプローチ
増田 亨
 
ゲームエンジニアのためのデータベース設計
ゲームエンジニアのためのデータベース設計ゲームエンジニアのためのデータベース設計
ゲームエンジニアのためのデータベース設計
sairoutine
 
研究分野をサーベイする
研究分野をサーベイする研究分野をサーベイする
研究分野をサーベイする
Takayuki Itoh
 
Oss貢献超入門
Oss貢献超入門Oss貢献超入門
Oss貢献超入門
Michihito Shigemura
 
MLOps に基づく AI/ML 実運用最前線 ~画像、動画データにおける MLOps 事例のご紹介~(映像情報メディア学会2021年冬季大会企画セッショ...
MLOps に基づく AI/ML 実運用最前線 ~画像、動画データにおける MLOps 事例のご紹介~(映像情報メディア学会2021年冬季大会企画セッショ...MLOps に基づく AI/ML 実運用最前線 ~画像、動画データにおける MLOps 事例のご紹介~(映像情報メディア学会2021年冬季大会企画セッショ...
MLOps に基づく AI/ML 実運用最前線 ~画像、動画データにおける MLOps 事例のご紹介~(映像情報メディア学会2021年冬季大会企画セッショ...
NTT DATA Technology & Innovation
 
DBスキーマもバージョン管理したい!
DBスキーマもバージョン管理したい!DBスキーマもバージョン管理したい!
DBスキーマもバージョン管理したい!
kwatch
 
Data-Centric AIの紹介
Data-Centric AIの紹介Data-Centric AIの紹介
Data-Centric AIの紹介
Kazuyuki Miyazawa
 
MQTTとAMQPと.NET
MQTTとAMQPと.NETMQTTとAMQPと.NET
MQTTとAMQPと.NET
terurou
 
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理
NTT DATA Technology & Innovation
 
マイクロサービスに至る歴史とこれから - XP祭り2021
マイクロサービスに至る歴史とこれから - XP祭り2021マイクロサービスに至る歴史とこれから - XP祭り2021
マイクロサービスに至る歴史とこれから - XP祭り2021
Yusuke Suzuki
 
Goで実装した UPSIDERの決済金額リミット機能
Goで実装した UPSIDERの決済金額リミット機能 Goで実装した UPSIDERの決済金額リミット機能
Goで実装した UPSIDERの決済金額リミット機能
Miki Masumoto
 
DeNAの分析を支える分析基盤
DeNAの分析を支える分析基盤DeNAの分析を支える分析基盤
DeNAの分析を支える分析基盤
Kenshin Yamada
 
コンテナの作り方「Dockerは裏方で何をしているのか?」
コンテナの作り方「Dockerは裏方で何をしているのか?」コンテナの作り方「Dockerは裏方で何をしているのか?」
コンテナの作り方「Dockerは裏方で何をしているのか?」
Masahito Zembutsu
 

What's hot (20)

初心者向けMongoDBのキホン!
初心者向けMongoDBのキホン!初心者向けMongoDBのキホン!
初心者向けMongoDBのキホン!
 
本当は恐ろしい分散システムの話
本当は恐ろしい分散システムの話本当は恐ろしい分散システムの話
本当は恐ろしい分散システムの話
 
テストコードの DRY と DAMP
テストコードの DRY と DAMPテストコードの DRY と DAMP
テストコードの DRY と DAMP
 
それはYAGNIか? それとも思考停止か?
それはYAGNIか? それとも思考停止か?それはYAGNIか? それとも思考停止か?
それはYAGNIか? それとも思考停止か?
 
深層学習による自然言語処理入門: word2vecからBERT, GPT-3まで
深層学習による自然言語処理入門: word2vecからBERT, GPT-3まで深層学習による自然言語処理入門: word2vecからBERT, GPT-3まで
深層学習による自然言語処理入門: word2vecからBERT, GPT-3まで
 
Pythonによる黒魔術入門
Pythonによる黒魔術入門Pythonによる黒魔術入門
Pythonによる黒魔術入門
 
REST API のコツ
REST API のコツREST API のコツ
REST API のコツ
 
マイクロサービス 4つの分割アプローチ
マイクロサービス 4つの分割アプローチマイクロサービス 4つの分割アプローチ
マイクロサービス 4つの分割アプローチ
 
ゲームエンジニアのためのデータベース設計
ゲームエンジニアのためのデータベース設計ゲームエンジニアのためのデータベース設計
ゲームエンジニアのためのデータベース設計
 
研究分野をサーベイする
研究分野をサーベイする研究分野をサーベイする
研究分野をサーベイする
 
Oss貢献超入門
Oss貢献超入門Oss貢献超入門
Oss貢献超入門
 
MLOps に基づく AI/ML 実運用最前線 ~画像、動画データにおける MLOps 事例のご紹介~(映像情報メディア学会2021年冬季大会企画セッショ...
MLOps に基づく AI/ML 実運用最前線 ~画像、動画データにおける MLOps 事例のご紹介~(映像情報メディア学会2021年冬季大会企画セッショ...MLOps に基づく AI/ML 実運用最前線 ~画像、動画データにおける MLOps 事例のご紹介~(映像情報メディア学会2021年冬季大会企画セッショ...
MLOps に基づく AI/ML 実運用最前線 ~画像、動画データにおける MLOps 事例のご紹介~(映像情報メディア学会2021年冬季大会企画セッショ...
 
DBスキーマもバージョン管理したい!
DBスキーマもバージョン管理したい!DBスキーマもバージョン管理したい!
DBスキーマもバージョン管理したい!
 
Data-Centric AIの紹介
Data-Centric AIの紹介Data-Centric AIの紹介
Data-Centric AIの紹介
 
MQTTとAMQPと.NET
MQTTとAMQPと.NETMQTTとAMQPと.NET
MQTTとAMQPと.NET
 
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理
 
マイクロサービスに至る歴史とこれから - XP祭り2021
マイクロサービスに至る歴史とこれから - XP祭り2021マイクロサービスに至る歴史とこれから - XP祭り2021
マイクロサービスに至る歴史とこれから - XP祭り2021
 
Goで実装した UPSIDERの決済金額リミット機能
Goで実装した UPSIDERの決済金額リミット機能 Goで実装した UPSIDERの決済金額リミット機能
Goで実装した UPSIDERの決済金額リミット機能
 
DeNAの分析を支える分析基盤
DeNAの分析を支える分析基盤DeNAの分析を支える分析基盤
DeNAの分析を支える分析基盤
 
コンテナの作り方「Dockerは裏方で何をしているのか?」
コンテナの作り方「Dockerは裏方で何をしているのか?」コンテナの作り方「Dockerは裏方で何をしているのか?」
コンテナの作り方「Dockerは裏方で何をしているのか?」
 

Similar to (2017.6.9) Neo4jの可視化ライブラリまとめ

(2017.9.7) Neo4jご紹介
(2017.9.7) Neo4jご紹介(2017.9.7) Neo4jご紹介
(2017.9.7) Neo4jご紹介
Mitsutoshi Kiuchi
 
(2017.6.2) Azure HDInsightで実現するスケーラブル分析環境
(2017.6.2) Azure HDInsightで実現するスケーラブル分析環境(2017.6.2) Azure HDInsightで実現するスケーラブル分析環境
(2017.6.2) Azure HDInsightで実現するスケーラブル分析環境
Mitsutoshi Kiuchi
 
Spark summit 2016 recap
Spark summit 2016 recapSpark summit 2016 recap
Spark summit 2016 recap
Mitsutoshi Kiuchi
 
Bluemixとapache sparkでできる io tデータの収集と分析
Bluemixとapache sparkでできる io tデータの収集と分析Bluemixとapache sparkでできる io tデータの収集と分析
Bluemixとapache sparkでできる io tデータの収集と分析
Mitsutoshi Kiuchi
 
ML Ops NYC 19 & Strata Data Conference 2019 NewYork 注目セッションまとめ
ML Ops NYC 19 & Strata Data Conference 2019 NewYork 注目セッションまとめML Ops NYC 19 & Strata Data Conference 2019 NewYork 注目セッションまとめ
ML Ops NYC 19 & Strata Data Conference 2019 NewYork 注目セッションまとめ
Tetsutaro Watanabe
 
(2017.4.27) IBM watson developer cloudのアプリケーションログを可視化する
(2017.4.27) IBM watson developer cloudのアプリケーションログを可視化する(2017.4.27) IBM watson developer cloudのアプリケーションログを可視化する
(2017.4.27) IBM watson developer cloudのアプリケーションログを可視化する
Mitsutoshi Kiuchi
 
アイデアを形にする ③3時間でアプリ公開!ゼロからのプログラミング講座
アイデアを形にする  ③3時間でアプリ公開!ゼロからのプログラミング講座アイデアを形にする  ③3時間でアプリ公開!ゼロからのプログラミング講座
アイデアを形にする ③3時間でアプリ公開!ゼロからのプログラミング講座
DIVE INTO CODE Corp.
 
マルチクラウドデータ連携Javaアプリケーションの作り方
マルチクラウドデータ連携Javaアプリケーションの作り方マルチクラウドデータ連携Javaアプリケーションの作り方
マルチクラウドデータ連携Javaアプリケーションの作り方
CData Software Japan
 
JavaOne2017参加報告 Microservices topic & approach #jjug
JavaOne2017参加報告 Microservices topic & approach #jjugJavaOne2017参加報告 Microservices topic & approach #jjug
JavaOne2017参加報告 Microservices topic & approach #jjug
Yahoo!デベロッパーネットワーク
 
Azure <3 Openness
Azure <3 OpennessAzure <3 Openness
Azure <3 Openness
Keiji Kamebuchi
 
[ML15]Class Cat佐々木さん「いち早く人工知能テクノロジーを取り入れた製品・サービスを市場に展開するには?」
[ML15]Class Cat佐々木さん「いち早く人工知能テクノロジーを取り入れた製品・サービスを市場に展開するには?」[ML15]Class Cat佐々木さん「いち早く人工知能テクノロジーを取り入れた製品・サービスを市場に展開するには?」
[ML15]Class Cat佐々木さん「いち早く人工知能テクノロジーを取り入れた製品・サービスを市場に展開するには?」
AINOW
 
新時代のエンタープライズデータマネジメント Drupal expo2017
新時代のエンタープライズデータマネジメント� Drupal expo2017新時代のエンタープライズデータマネジメント� Drupal expo2017
新時代のエンタープライズデータマネジメント Drupal expo2017
惠 紀野
 
初めてのWebプログラミング講座
初めてのWebプログラミング講座初めてのWebプログラミング講座
初めてのWebプログラミング講座
DIVE INTO CODE Corp.
 
「企業のデジタルトランスフォーメーション ビッグデータ利活用に関する活動と課題」
「企業のデジタルトランスフォーメーション   ビッグデータ利活用に関する活動と課題」「企業のデジタルトランスフォーメーション   ビッグデータ利活用に関する活動と課題」
「企業のデジタルトランスフォーメーション ビッグデータ利活用に関する活動と課題」
scirexcenter
 
.NET の過去、現在、そして未来
.NET の過去、現在、そして未来.NET の過去、現在、そして未来
.NET の過去、現在、そして未来
Akira Inoue
 
X pages day発表_20141118 final
X pages day発表_20141118 finalX pages day発表_20141118 final
X pages day発表_20141118 final
Fumiko Yamamoto
 
ゲームだけじゃないHTML5
ゲームだけじゃないHTML5ゲームだけじゃないHTML5
ゲームだけじゃないHTML5
Osamu Shimoda
 
データベースアプリケーション開発セミナー・最新のデータベースとアプリケーション開発の関係
データベースアプリケーション開発セミナー・最新のデータベースとアプリケーション開発の関係データベースアプリケーション開発セミナー・最新のデータベースとアプリケーション開発の関係
データベースアプリケーション開発セミナー・最新のデータベースとアプリケーション開発の関係
Kaz Aiso
 
2016/4/16 Softlayer Bluemix Community Festa 2016講演資料
2016/4/16 Softlayer Bluemix Community Festa 2016講演資料2016/4/16 Softlayer Bluemix Community Festa 2016講演資料
2016/4/16 Softlayer Bluemix Community Festa 2016講演資料
Mitsutoshi Kiuchi
 
fluxflex meetup in Tokyo
fluxflex meetup in Tokyofluxflex meetup in Tokyo
fluxflex meetup in Tokyo
Kyosuke Inoue
 

Similar to (2017.6.9) Neo4jの可視化ライブラリまとめ (20)

(2017.9.7) Neo4jご紹介
(2017.9.7) Neo4jご紹介(2017.9.7) Neo4jご紹介
(2017.9.7) Neo4jご紹介
 
(2017.6.2) Azure HDInsightで実現するスケーラブル分析環境
(2017.6.2) Azure HDInsightで実現するスケーラブル分析環境(2017.6.2) Azure HDInsightで実現するスケーラブル分析環境
(2017.6.2) Azure HDInsightで実現するスケーラブル分析環境
 
Spark summit 2016 recap
Spark summit 2016 recapSpark summit 2016 recap
Spark summit 2016 recap
 
Bluemixとapache sparkでできる io tデータの収集と分析
Bluemixとapache sparkでできる io tデータの収集と分析Bluemixとapache sparkでできる io tデータの収集と分析
Bluemixとapache sparkでできる io tデータの収集と分析
 
ML Ops NYC 19 & Strata Data Conference 2019 NewYork 注目セッションまとめ
ML Ops NYC 19 & Strata Data Conference 2019 NewYork 注目セッションまとめML Ops NYC 19 & Strata Data Conference 2019 NewYork 注目セッションまとめ
ML Ops NYC 19 & Strata Data Conference 2019 NewYork 注目セッションまとめ
 
(2017.4.27) IBM watson developer cloudのアプリケーションログを可視化する
(2017.4.27) IBM watson developer cloudのアプリケーションログを可視化する(2017.4.27) IBM watson developer cloudのアプリケーションログを可視化する
(2017.4.27) IBM watson developer cloudのアプリケーションログを可視化する
 
アイデアを形にする ③3時間でアプリ公開!ゼロからのプログラミング講座
アイデアを形にする  ③3時間でアプリ公開!ゼロからのプログラミング講座アイデアを形にする  ③3時間でアプリ公開!ゼロからのプログラミング講座
アイデアを形にする ③3時間でアプリ公開!ゼロからのプログラミング講座
 
マルチクラウドデータ連携Javaアプリケーションの作り方
マルチクラウドデータ連携Javaアプリケーションの作り方マルチクラウドデータ連携Javaアプリケーションの作り方
マルチクラウドデータ連携Javaアプリケーションの作り方
 
JavaOne2017参加報告 Microservices topic & approach #jjug
JavaOne2017参加報告 Microservices topic & approach #jjugJavaOne2017参加報告 Microservices topic & approach #jjug
JavaOne2017参加報告 Microservices topic & approach #jjug
 
Azure <3 Openness
Azure <3 OpennessAzure <3 Openness
Azure <3 Openness
 
[ML15]Class Cat佐々木さん「いち早く人工知能テクノロジーを取り入れた製品・サービスを市場に展開するには?」
[ML15]Class Cat佐々木さん「いち早く人工知能テクノロジーを取り入れた製品・サービスを市場に展開するには?」[ML15]Class Cat佐々木さん「いち早く人工知能テクノロジーを取り入れた製品・サービスを市場に展開するには?」
[ML15]Class Cat佐々木さん「いち早く人工知能テクノロジーを取り入れた製品・サービスを市場に展開するには?」
 
新時代のエンタープライズデータマネジメント Drupal expo2017
新時代のエンタープライズデータマネジメント� Drupal expo2017新時代のエンタープライズデータマネジメント� Drupal expo2017
新時代のエンタープライズデータマネジメント Drupal expo2017
 
初めてのWebプログラミング講座
初めてのWebプログラミング講座初めてのWebプログラミング講座
初めてのWebプログラミング講座
 
「企業のデジタルトランスフォーメーション ビッグデータ利活用に関する活動と課題」
「企業のデジタルトランスフォーメーション   ビッグデータ利活用に関する活動と課題」「企業のデジタルトランスフォーメーション   ビッグデータ利活用に関する活動と課題」
「企業のデジタルトランスフォーメーション ビッグデータ利活用に関する活動と課題」
 
.NET の過去、現在、そして未来
.NET の過去、現在、そして未来.NET の過去、現在、そして未来
.NET の過去、現在、そして未来
 
X pages day発表_20141118 final
X pages day発表_20141118 finalX pages day発表_20141118 final
X pages day発表_20141118 final
 
ゲームだけじゃないHTML5
ゲームだけじゃないHTML5ゲームだけじゃないHTML5
ゲームだけじゃないHTML5
 
データベースアプリケーション開発セミナー・最新のデータベースとアプリケーション開発の関係
データベースアプリケーション開発セミナー・最新のデータベースとアプリケーション開発の関係データベースアプリケーション開発セミナー・最新のデータベースとアプリケーション開発の関係
データベースアプリケーション開発セミナー・最新のデータベースとアプリケーション開発の関係
 
2016/4/16 Softlayer Bluemix Community Festa 2016講演資料
2016/4/16 Softlayer Bluemix Community Festa 2016講演資料2016/4/16 Softlayer Bluemix Community Festa 2016講演資料
2016/4/16 Softlayer Bluemix Community Festa 2016講演資料
 
fluxflex meetup in Tokyo
fluxflex meetup in Tokyofluxflex meetup in Tokyo
fluxflex meetup in Tokyo
 

More from Mitsutoshi Kiuchi

(2017.8.27) Elasticsearchと科学技術ビッグデータが切り拓く日本の知の俯瞰と発見
(2017.8.27) Elasticsearchと科学技術ビッグデータが切り拓く日本の知の俯瞰と発見(2017.8.27) Elasticsearchと科学技術ビッグデータが切り拓く日本の知の俯瞰と発見
(2017.8.27) Elasticsearchと科学技術ビッグデータが切り拓く日本の知の俯瞰と発見
Mitsutoshi Kiuchi
 
2015/12/9 Spark Meetup December講演資料
2015/12/9 Spark Meetup December講演資料2015/12/9 Spark Meetup December講演資料
2015/12/9 Spark Meetup December講演資料
Mitsutoshi Kiuchi
 
Mesos consulで構築するマイクロサービスインフラ
Mesos consulで構築するマイクロサービスインフラMesos consulで構築するマイクロサービスインフラ
Mesos consulで構築するマイクロサービスインフラ
Mitsutoshi Kiuchi
 
Dockerエンタープライズ利用について
Dockerエンタープライズ利用についてDockerエンタープライズ利用について
Dockerエンタープライズ利用について
Mitsutoshi Kiuchi
 
9/16 Tokyo Apache Drill Meetup - drill vs sparksql
9/16 Tokyo Apache Drill Meetup - drill vs sparksql9/16 Tokyo Apache Drill Meetup - drill vs sparksql
9/16 Tokyo Apache Drill Meetup - drill vs sparksql
Mitsutoshi Kiuchi
 
Docker活用ソリューション紹介
Docker活用ソリューション紹介Docker活用ソリューション紹介
Docker活用ソリューション紹介
Mitsutoshi Kiuchi
 

More from Mitsutoshi Kiuchi (6)

(2017.8.27) Elasticsearchと科学技術ビッグデータが切り拓く日本の知の俯瞰と発見
(2017.8.27) Elasticsearchと科学技術ビッグデータが切り拓く日本の知の俯瞰と発見(2017.8.27) Elasticsearchと科学技術ビッグデータが切り拓く日本の知の俯瞰と発見
(2017.8.27) Elasticsearchと科学技術ビッグデータが切り拓く日本の知の俯瞰と発見
 
2015/12/9 Spark Meetup December講演資料
2015/12/9 Spark Meetup December講演資料2015/12/9 Spark Meetup December講演資料
2015/12/9 Spark Meetup December講演資料
 
Mesos consulで構築するマイクロサービスインフラ
Mesos consulで構築するマイクロサービスインフラMesos consulで構築するマイクロサービスインフラ
Mesos consulで構築するマイクロサービスインフラ
 
Dockerエンタープライズ利用について
Dockerエンタープライズ利用についてDockerエンタープライズ利用について
Dockerエンタープライズ利用について
 
9/16 Tokyo Apache Drill Meetup - drill vs sparksql
9/16 Tokyo Apache Drill Meetup - drill vs sparksql9/16 Tokyo Apache Drill Meetup - drill vs sparksql
9/16 Tokyo Apache Drill Meetup - drill vs sparksql
 
Docker活用ソリューション紹介
Docker活用ソリューション紹介Docker活用ソリューション紹介
Docker活用ソリューション紹介
 

(2017.6.9) Neo4jの可視化ライブラリまとめ

  • 1. Copyright ⓒ2017 CREATIONLINE, INC. All Rights Reserved Neo4jの可視化ライブラリ(あらためて)まとめ クリエーションライン株式会社 木内 満歳 2017/6/9 Neo4j勉強会 #11 資料
  • 2. Copyright ⓒ2017 CREATIONLINE, INC. All Rights Reserved 自己紹介 木内 満歳(きうち みつとし) クリエーションライン株式会社 シニアコンサルタント Slideshare: http://www.slideshare.net/mkiuchi4 各種寄稿 a. gihyo.jp: “Mesosphere DCOSでつくるクラウドアプリケーション” b. 日経クラウドファースト2016年6月 “Azure IoT Suiteの評価” c. Codezine: “機械学習をクラウドで手軽に体験! BluemixのApache Sparkで異常 なセンサーデータを洗い出す” 各種講演 a. Developer Summit 2016 Summer b. 日経BP社 “パブリッククラウド導入の企画提案力養成講座” c. Cloudweek Hokkaido 2015/2016 d. 政策研究大学院大学 科学技術イノベーション政策研究センター 「科学技術イノベーション政策のための科学オープンフォーラム」 専門分野:Apache Mesos, Apache Spark, 分散コンピューティング, クラウドコンピューテ ィング, NoSQL DB, グラフDB O’reilley Certified Developer on Apache Spark Docker Certified Technical Trainer
  • 3. Copyright ⓒ2017 CREATIONLINE, INC. All Rights Reserved クリエーションライン株式会社
  • 4. Copyright ⓒ2017 CREATIONLINE, INC. All Rights Reserved 人材募集中です • クリエーションラインでは「われこそは!」という人材を募集しています – クラウド・Docker – IoT – データ分析 – DevOps/構成自動化(Chefなど) https://www.creationline.com/recruit
  • 5. Copyright ⓒ2017 CREATIONLINE, INC. All Rights Reserved 本題: Neo4jの可視化ライブラリ(あらためて)まとめ
  • 6. Copyright ⓒ2017 CREATIONLINE, INC. All Rights Reserved Neo4j ユーザー勉強会 #6(2016.1.25)も見てください 株式会社インテリジェンス 清田 馨一郎さん [Slideshare] https://www.slideshare.net/keiichiroseida/neo4j-57449613
  • 7. Copyright ⓒ2017 CREATIONLINE, INC. All Rights Reserved Neo4j可視化ライブラリを使うとき • 可視化ライブラリを使う理由 – Neo4jに付属するブラウザではデータの変更もできてしまうので見せ るだけにしたい – 特定のクエリの結果を見せたい – Neo4jブラウザではできないような見せ方をしたい • ノードのアイコンを変えたり、条件によってバッジをつけたい • ノード(サブグラフ)をグループ化したい • クエリを変更せずに結果をフィルタリングしたい • 別のコンポーネントと併用したい(ボタン、プルダウン、など)
  • 8. Copyright ⓒ2017 CREATIONLINE, INC. All Rights Reserved D3.js • みんなだいすきD3.js • 最近の可視化ではデファクト • Javascriptがかけない人は厳しい • そもそもグラフデータ専用ではない のでNeo4jのグラフを可視化したい という用途には困難な道かも・・・ https://d3js.org/
  • 9. Copyright ⓒ2017 CREATIONLINE, INC. All Rights Reserved GraphViz • アカデミック系の人に好まれるイメージ • インタラクティブなグラフは作れない? • Pythonバインディングがある http://www.graphviz.org/
  • 10. Copyright ⓒ2017 CREATIONLINE, INC. All Rights Reserved Cytoscape • 可視化ライブラリというよりは可視化 アプリケーション • 日本人の開発者がいる • Neo4jとの接続は直接はサポートされ ていない(機能拡張*でサポート) • Javascriptの可視化ライブラリ - Cytoscape.js がある。ある程度のグラ フ分析アルゴリズムも同梱されている (ダイクストラ探索(ShortestPath)、 PageRankなど) http://www.cytoscape.org/ * cyNeo4j: http://apps.cytoscape.org/apps/cyneo4j
  • 11. Copyright ⓒ2017 CREATIONLINE, INC. All Rights Reserved LINKURIOUS(Sigma.js) • 可視化ライブラリ&アプリケーション • ICIJのパナマ文書分析に採用され、い ちやく有名に • 可視化ライブラリ部分をオープンソー スにした Sigma.js がある http://sigmajs.org/ プラグインでNeo4jからのロードも可 能 ※Linkurious.jsはdeprecated、Ogmaは 有償 https://linkurio.us/ 商用
  • 12. Copyright ⓒ2017 CREATIONLINE, INC. All Rights Reserved • 可視化ライブラリ • 開発はjavascript • 完全クローズドソース • Neo4jとの接続可能。他のデータソー スとのコネクタもある • 可視化の機能はけっこうある https://cambridge-intelligence.com/keylines/ 商用
  • 13. Copyright ⓒ2017 CREATIONLINE, INC. All Rights Reserved みんな大好き星取表 無償? 言語 機能 オートレイ アウト グループ化 カスタムス タイル アニメーシ ョン フィルタリ ング D3.js ◯ Javascript ◯ ☓. △ ◯ ☓ GraphViz ◯ 独自(DOT 言語), Python ◯ △ △ ☓. ☓ Cytoscape ◯ Javascript ◯ △ ◯ ◯ ◯ LINKURIOUS (Sigma.js) △ Javascript ◯ ☓ ◯ ◯ ◯ KeyLines ☓ Javascript ◯ ◯ ◯ ◯ ◯
  • 14. Copyright ⓒ2017 CREATIONLINE, INC. All Rights Reserved 「で、実際どうなの!?」
  • 15. Copyright ⓒ2017 CREATIONLINE, INC. All Rights Reserved デモ (時間の許す限り・・・)
  • 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 においておきましたので 煮るなり焼くなりご自由に!
  • 24. Copyright ⓒ2017 CREATIONLINE, INC. All Rights Reserved みなさんの健闘を祈ります