Neo4j匯入CSV檔案使用import
阿新 • • 發佈:2019-01-02
準備資料
首先我們準備好資料(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中的的效果如下
展現形式如下: