Neo4j導入CSV數據

常見導入形式對比。

在這裏插入圖片描述

Load方式導入CSV文件數據:

首先將本地數據文件放在XXX\Neo4j\import文件夾內,遠程數據文件可以使用文件URL。
這裏本人在import文件夾裏放了三個文件,然後指定絕對路徑即可訪問該文件
在這裏插入圖片描述
其中person.csv爲人物表,movies.csv爲電影表,rating.csv爲每個人給電影的打分表。
由此可見,person和movies均爲點,而rating則爲邊。

下面開始導入person.csv數據:

在這裏插入圖片描述
在這裏插入圖片描述
在頁面執行下列的命令:

USING PERIODIC COMMIT 10
LOAD CSV WITH HEADERS  FROM "file:////disk3/neo4j-community-3.5.15/import/person.csv" AS line
MERGE (p:Person{pid:toInteger(line.pid)})

參數說明:

1、USING PERIODIC COMMIT 300
使用自動提交,每滿300條提交一次,防止內存溢出

2、WITH HEADERS
從文件中讀取第一行作爲參數名,只有在使用了該參數後,纔可以使用line.name這樣的表示方式,否則需使用line[0]的表示方式

3、AS line
爲每行數據重命名

4、MERGE
用merge比用create好一點,可以防止數據重複

person.csv導入成功:
在這裏插入圖片描述

下面繼續導入movies.csv數據:

在這裏插入圖片描述

LOAD CSV WITH HEADERS  FROM "file:////disk3/neo4j-community-3.5.15/import/movies.csv" AS line
MERGE (m:Movies{movieId:toInteger(line.movieId),title:line.title,genres:line.genres})

movies.csv文件導入成功:
在這裏插入圖片描述

下面開始導入rating.csv數據:

在這裏插入圖片描述
執行以下命令:

LOAD CSV WITH HEADERS FROM "file:////disk3/neo4j-community-3.5.15/import/rating.csv" AS line 
match (from:Person{pid:toInteger(line.pid)}),(to:Movies{movieId:toInteger(line.movieId)})  
merge (from)-[r:rate{pid:toInteger(line.pid),movieId:toInteger(line.movieId),rating:toInteger(line.rating)}]->(to)

導入rating.csv數據成功:
在這裏插入圖片描述

import方式導入CSV數據:

此方法,需先停止neo4j服務:

./neo4j stop
導入數據:

本例中用到的數據分別有節點文件movies、person和關係文件rating,創建三個csv文件,分別命名爲movies.csv、person.csv、rating.csv,並將數據填入其中。
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
將要導入的三個csv文件放入了import目錄當中:
在這裏插入圖片描述
進入到安裝bin目錄執行以下命令:

neo4j-admin import --id-type=STRING --mode=csv --database=userMovie.db --nodes /disk3/neo4j-community-3.5.15/import/person.csv --nodes /disk3/neo4j-community-3.5.15/import/movies.csv --relationships /disk3/neo4j-community-3.5.15/import/rating.csv

代碼的意思是以csv的文件模式,將import文件夾下的movies節點,person節點,rating.csv關係導入到名爲userMovie的數據庫中(這個數據庫名字可以自己定義),回車一下。在這裏插入圖片描述
導入之後並不是大功告成了,還要在瀏覽器中訪問這個數據庫看一下導入的結果,這時候就面臨一個很大的問題,neo4j默認的數據庫是data/databases下面的graph.db,瀏覽器也會默認的訪問這個graph數據庫,所以當你新建了一個數據庫的時候,就需要去修改配置文件:

vim conf/neo4j.conf

將dbms.active_database = graph.db 修改爲 dbms.active_database = 你的數據庫名稱.db,並且!!將前面的井號刪除掉,有井號表示並不執行,是默認設置,修改之後別忘記保存哦!!
在這裏插入圖片描述
然後切換到bin目錄下,重新啓動。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章