Total Pageviews

2018/08/14

[Neo4j] Import data using Neo4j-shell-tools

假設我想要在 neo4j 建立起下圖的關係

由關係圖可以看出會有七個節點,包含
  • 哆啦A夢
  • 大雄
  • 靜香
  • 小夫
  • 胖虎
  • 小叮鈴
  • 玉子 (大雄的媽媽)
  • 伸助 (大雄的爸爸)

這七個人 (nodes) 之間的有九個關係:
  • 大雄的寵物是哆啦A夢
  • 大雄的配偶是靜香
  • 大雄的朋友是小夫
  • 大雄的朋友是胖虎
  • 小夫的朋友是胖虎
  • 哆啦A夢的妹妹是小叮鈴
  • 大雄的爸爸是伸助
  • 大雄的媽媽是玉子
  • 伸助的配偶是玉子

分析與執行步驟如下:


步驟如下:
(1) Download neo4j-shell-tools_3.0.1.zip from https://github.com/jexp/neo4j-shell-tools

(2) Unzip neo4j-shell-tools_3.0.1.zip and copy jar files into neo4j-community-3.3.3\lib

(3) Prepare nodes csv files with UTF-8 encoding in neo4j-community-3.3.3\import directory

(4) Prepare relationship csv files with UTF-8 encoding  in neo4j-community-3.3.3\import directory

(5) Execute import-cypher command via neo4j-shell to create nodes
import-cypher -d , -i ./import/nodes.csv -o ./import/nodes_output.txt create(p#{node}:Person {id:{node}, name:{name}, gender:{gender}})


(6) Execute import-cypher command via neo4j-shell to create relationships
import-cypher -d , -i ./import/relationships.csv -o ./import/relationships_output.txt match (from:Person), (to:Person) where from.id={From} and to.id={To} create (from)-[:#{Relation Type}]->(to)


產生的關係圖如下:

No comments: