準備數據
首先我們準備好數據(CSV)
數據連接:https://pan.baidu.com/s/1hwMy91DjohZ9yJXcA6GKMQ
放入import目錄路徑
一、Neo4j默認導入目錄路徑
neo4j安裝根路徑下找到import之後在此文件夾下放入數據
導入數據
二、Neo4j導入CSV文件
找到neo4j的安裝路徑,並在D:\neo4j\import放入csv文件,如果目錄下沒有則創建import目錄
完整路徑如下D:\neo4j\import
因爲neo4j支持導入csv文件,其默認目錄入口是 ...\import
//導入節點 電影類型 == 注意類型轉換
LOAD CSV WITH HEADERS FROM "file:///genre.csv" AS line
MERGE (p:Genre{gid:toInteger(line.gid),name:line.gname})
//導入節點 演員信息
LOAD CSV WITH HEADERS FROM 'file:///person.csv' AS line
MERGE (p:Person { pid:toInteger(line.pid),birth:line.birth,
death:line.death,name:line.name,
biography:line.biography,
birthplace:line.birthplace})
// 導入節點 電影信息
LOAD CSV WITH HEADERS FROM "file:///movie.csv" AS line
MERGE (p:Movie{mid:toInteger(line.mid),title:line.title,introduction:line.introduction,
rating:toFloat(line.rating),releasedate:line.releasedate})
// 導入關係 actedin 電影是誰參演的 1對多
LOAD CSV WITH HEADERS FROM "file:///person_to_movie.csv" AS line
match (from:Person{pid:toInteger(line.pid)}),(to:Movie{mid:toInteger(line.mid)})
merge (from)-[r:actedin{pid:toInteger(line.pid),mid:toInteger(line.mid)}]->(to)
//導入關係 電影是什麼類型 == 1對多
LOAD CSV WITH HEADERS FROM "file:///movie_to_genre.csv" AS line
match (from:Movie{mid:toInteger(line.mid)}),(to:Genre{gid:toInteger(line.gid)})
merge (from)-[r:is{mid:toInteger(line.mid),gid:toInteger(line.gid)}]->(to)
-- 問:章子怡都演了哪些電影?
match(n:Person)-[:actedin]->(m:Movie) where n.name='章子怡' return m.title
-- 刪除所有的節點及關係
MATCH (n)-[r]-(b)
DELETE n,r,b
由於csv導入neo4j的數據都是字符串的數據類型,因此,對於一些有特殊要求的字段,我們需要在導入的時候進行類型轉換
比如
比如
結果展現
語句一個個執行,最終執行完在neo4j中的的效果如下
展現形式如下: