1. 程式人生 > >Neo4j匯入CSV檔案使用import

Neo4j匯入CSV檔案使用import

準備資料

首先我們準備好資料(CSV)
在這裡插入圖片描述

放入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中的的效果如下
在這裡插入圖片描述

展現形式如下:
在這裡插入圖片描述