pythonでグラフデータベースを構築[Python][GraphDataBase][Neo4j]

7月 27, 2020

f:id:Vastee:20180509140835g:plain

本記事では、グラフデータベースNeo4jを用いて、簡単なグラフをpythonで記述する方法を紹介。

まずはNeo4jのインストールから済ませよう

vastee.hatenablog.com

Neo4jのインストールが終わったら、Neo4jのpythonラッパーneo4jrestclientをインストール

pip install neo4jrestclient

これで準備完了。

では、pythonでグラフを描いてみよう。

from neo4jrestclient.client import GraphDatabase
url = "http://127.0.0.1:7474/db/data/"
#http://localhost:...と記述すると認識してもらえなかった
gdb = GraphDatabase(url) #ここでエラーが出る場合はsudo pythonを試してみよう
gdb.query("MATCH (n) OPTIONAL MATCH (n)-[r]-() DELETE n,r", data_contents=True)
alice = gdb.nodes.create(name="Alice", age=30)
bob   = gdb.nodes.create(name="Bob", age=30)
ken   = gdb.nodes.create(name="Ken", age=35)
alice.labels.add("Person")
bob.labels.add("Person")
ken.labels.add("Person")
bob.relationships.create("Knows", alice, since=1980)
alice.relationships.create("Knows", bob, since=1983)
alice.relationships.create("Knows", ken, since=2015)

上のプログラムは実行しても何の反応も無い。

グラフを見る為にはWebアプリを使わなければならない。

FirefoxなどのWebブラウザのURL欄に http://localhost:7474/browser/ を打ち込もう。

そしてでてきたUIのコマンド入力欄に

MATCH (n)-[r]-(m) RETURN n, r, m

と打てば、スクリプトで作成したグラフが表示される。

もし、何もグラフが出てこなければ、上のスクリプトをsudoで実行してみよう。

f:id:Vastee:20181001170230p:plain

以上。

Neo4j,Python

Posted by vastee