Neo4j でcsvを読み込んでみた.


Neo4jとの格闘の日々

研究で,グラフデータを扱うことになり,先輩たちがNeo4jを使っていたという思考停止理論からNeo4jを使うことに.

特定のデータを使って,グラフデータにする必要があったため,csvファイルを作って,ダウンロードさせた

結構調べたけど,なかなか出てこなかったので,備忘録程度に記す.

事前準備

Neo4jをインストール

Macで,brewが入っているなら,

$ brew install neo4j

で一発


こんな感じになればおけ

csvファイルを用意

とりあえず,やってみたとかだったら,kaggleとかからもってこればよし
いちおう,チュートリアル的なやつも用意されているらしい...

LocalファイルのDLを許可

初期設定では,Local環境にあるCSVファイルは読み込めない様になっているので,

$ sudo vim /usr/local/Cellar/neo4j/3.5.12/libexec/conf/neo4j.conf

で,設定ファイルを開き,

dbms.security.allow_csv_import_from_file_urls=true

に変更する.

Neo4jをブラウザで使用

普通にTerminalで,

$ Neo4j start

したあとに

$ open http://localhost:7474

でブラウザを開く

こんな画面が開けたらOK

あとは,ブラウザにサイファークエリを書き込んでいきます.

LOAD CSV

LOAD CSV WITH HEADERS FROM "file:///api-node.csv" AS csvLine CREATE (n:API {id: toInt(csvLine.API_id), name: csvLine.name, category: csvLine.API_category, date: csvLine.date})

ここで,注意してほしいのが,Local環境のcsvを読み込ませるときにそのcsvファイルを
/usr/local/Celler/neo4j/3.5.12/libexec/import/ 配下にすること

ここに配置しないとエラーが起こる.

こんな感じで使っていくと良いw