Neo4j[グラフデータベース作成プラットフォーム]メモ
導入テスト
$ brew install neo4j
ブラウザ
http://localhost:7474/browser/
ローカル作業フォルダ作成時
$ npm install neo4j
$ cd /usr/local/Cellar/neo4j/3.3.0/libexec/conf dbms.connectors.default_listen_address=0.0.0.0
↑ローカル外の場合はコメント外す
localhostのみで動かす場合は問題ありませんが、外部からneo4jに繋ごうとしたとき、デフォルト設定ではアクセスできません。外部から接続する場合のみ以下を実施してください。
ID/パス共に初期状態は neo4j
パスは変更必要
ノードを作成
例)
人物データベース作成(名前,年齢):
CREATE
(:Person{name:"次郎", age:22}),
(:Person{name:"花子", age:25});
基本の相関図作成コード:
- 次郎から花子への一方通行の例
MATCH (p1:Person{name:"次郎"}), (p2:Person{name:"花子"}) CREATE (p1)-[:Friend]->(p2) ;
グラフデータベース?
グラフ構造を持ったデータを扱うことに最適化されたDB(グラフDB)の一種
- 相関図特化のグラフラットデータベース作成プラットフォーム
- 学習コストはあるが、UIなどかなり良さそう
- CSV読み込みも可
- 画像は出せないのか?
- ↑ いずれにしても、データが大量にあれば読み込みが重くなる懸念
- 何を目的としたグラフであるか、UIUX設計の検討必要
- このツールを用いての「グラフデータベース」専門書籍が数冊出ている
- 必要技術
- Python
- json
- データベース知識
ツール操作検証
- ターミナル内蔵
- データベースも可視可能
- キーワードタグを元に1クリックでデータ確認可能なGUI設計
「Neo4j 使い方」
グラフDBのNeo4jでカフェのレコメンド機能を実験してみた
http://allabout-tech.hatenablog.com/entry/2017/03/02/094600
neo4j入門 Cypherクエリと使い方の具体例
https://www.deep-rain.com/programming/database/880#i
Neo4jとは
https://qiita.com/tikamoto/items/c3a1bba12e9b83aee42a
Neo4jについてちょちょいと調べたまとめ
http://the.igreque.info/posts/2014-06-08-neo4j.html
【Python】ソーシャルグラフが簡単に作れるNeo4jを試してみた
http://73spica.tech/blog/neo4j-python/
Pythonでグラフデータベース Neo4j入門 for ビギナー (Mac OSX向け)
https://qiita.com/kenmatsu4/items/f75616461dc5c63ecfe1
チュートリアル動画
Using Python and Neo4j for Data Analytics
https://www.youtube.com/watch?v=Nkd6Ei-xuxI
Master Data Management with Neo4j: Merging Two Financial Institutions
https://www.youtube.com/watch?v=LkIkMsW1cVs
Intro to Graphs and Neo4j
https://www.youtube.com/watch?v=Go3P73-KV30
Intro to Cypher
https://www.youtube.com/watch?v=pMjwgKqMzi8
日本語対応 ハンズオン
Tech-Circle #25 Neo4j Hands-On-Development
Part1
https://crash.academy/ng/class/177
ドキュメント
https://crash.academy/uploads/course/177/tech-circle25.pdf
https://github.com/zackys/handson-neo4j/blob/master/doc/00_prep.md
Git
https://github.com/zackys/handson-neo4j/blob/master/doc/10_hands-on.md
グラフデータベースをご存じでしょうか。 リアルタイム・レコメンデーション・エンジンやマネーロンダリングの検出など、RDBMSでは複雑な検索になりがちなドメインの問題解決に威力を発揮するNoSQLの一種です。そんなグラフデータベースを、パナマ文書の解析でも使用された Neo4j というプロダクトを使用し、データの基本的な操作をハンズオン形式でご紹介します。