マイムの部屋

社内SEが,興味をもったことを書いていきます.

Neo4jをインストールしてみる(グラフDB,Neo4j,Mac)

今回はグラフDBの一つであるNeo4jをインストールしてみました!!

Neo4jのインストール

neo4jはここから自分にあったファイルをダウンロードしてください.
tar -xf neo4j-community-2.3.1-unix.tar.gz
cd 解凍ファイル名/bin/
./neo4j start
インストールし終わったら,ブラウザのアドレスバーに「http://localhost:7474」を代入してログインしてください. 初期ユーザ名とパスワードは,「neo4j」です.

Neo4jを使ってみる

デモデータが用意されてみるようなので,試しに下のように使ってみる.
LOAD CSV WITH HEADERS FROM "http://neo4j.com/docs/2.2.0-M04/csv/query-tuning/movies.csv" AS line
MERGE (m:Movie { title:line.title })
ON CREATE SET m.released = toInt(line.released), m.tagline = line.tagline
ただエラーが出てくる....
じゃあ,デモデータをファイルを直にダウンロードしてやってみることにした.
なのでファイルを以下のURLからダウンロードした. ダウンロードしたら,下のように絶対パスを指定してファイルをインポートしてみる.
#データのインポート開始
#映画情報
LOAD CSV WITH HEADERS FROM "file:///絶対パス/movies.csv" AS line
MERGE (m:Movie { title:line.title })
ON CREATE SET m.released = toInt(line.released), m.tagline = line.tagline

#俳優情報
LOAD CSV WITH HEADERS FROM "file:///絶対パス/actors.csv" AS line
MATCH (m:Movie { title:line.title })
MERGE (p:Person { name:line.name })
ON CREATE SET p.born = toInt(line.born)
MERGE (p)-[:ACTED_IN { roles:split(line.roles,";")}]->(m)

#監督情報
LOAD CSV WITH HEADERS FROM "file:///絶対パス/directors.csv" AS line
MATCH (m:Movie { title:line.title })
MERGE (p:Person { name:line.name })
ON CREATE SET p.born = toInt(line.born)
#データのインポート終了

#描画してみる
MATCH (actor:Person { name: "Keanu Reeves" })-[r:ACTED_IN]->(movie) 
RETURN actor,movie 
上のようにドンドンやると下のようになった( ´ ▽ ` )ノ
neo4jEx01.png
よかった!!!

追記

ログアウトの方法が分からなかったので,調べてみました. コマンドラインに「:server disconnect」を入力するとできるそうです.

参考サイト