2.5.4 使用neo4j-import工具導入到Neo4j
從Neo4j 2.2版本開始,系統就自帶了一個大數據量的導入工具—neo4j-import,可支持并行、可擴展的大規模CSV數據導入。下面介紹如何使用這個工具導入CSV數據。
首先,可以在Neo4j系統目錄下的path/to/neo4j/bin/neo4j-import路徑下找到這個工具的可執行文件。以下是該工具的使用示例:

上例中以“--nodes:”子句開頭的CSV文件是節點CSV文件;以“--relationships:”開頭的是關系CSV文件;“--into”子句指明了導入的Neo4j數據庫名稱;“--id-type”子句指明了生成節點、關系的主鍵類型為string類型。
由于不能在neo4j-import工具中使用Cypher語句創建節點、關系,所以需要為節點和關系分別提供不同的CSV文件。上例中各個文件的列的組織形式如表2-3~表2-7所示。
表2-3 customers.csv文件格式

表2-4 products.csv文件格式

表2-5 orders_header.csv,orders1.csv,orders2.csv文件格式

表2-6 order_details.csv文件格式

表2-7 customer_orders_header.csv,orders1.csv,orders2.csv文件格式

對于上面各個CSV文件的內容解析如下:
(1)customers.csv中的全部記錄將作為節點直接導入到Neo4j數據庫中,其中節點都帶有Customer標簽節點屬性,直接從CSV文件的每條記錄中獲取。
(2)products.csv文件導入形式與customers.csv相同,但其中節點標簽取自:LABEL列。
(3)對于節點的順序取自3個文件(orders_header.csv、orders1.csv、orders2.csv),orders_header.csv為頭文件,orders1.csv和orders2.csv為內容文件。
(4)接下來需要創建訂單項(orders1.csv、orders2.csv)與所包含的產品(products.csv)相關聯關系“CONTAINS”,這個關聯關系將從order_details.csv創建,通過其ID將訂單與所包含的產品相關聯。
(5)訂單可以通過orders1.csv、orders2.csv文件關聯到客戶。
初學者可以參照本例中各個CSV文件的列格式制作自己的CSV文件,再使用neo4j-import工具進行導入。
(1)界面和版本會有所變化,但是操作方式大體相同。
(2)該路徑Neo4j不同版本會有所不同。
(3)需要先安裝Java運行時(注意是Java運行時而不是Java SDK)。
(4)Neo4j更新很快,讀者閱讀本書時,這個界面或者方式可能已經變化了,請查閱Neo4j官網。
- GitHub Essentials
- 使用GitOps實現Kubernetes的持續部署:模式、流程及工具
- 計算機信息技術基礎實驗與習題
- 從0到1:數據分析師養成寶典
- Access 2016數據庫技術及應用
- 揭秘云計算與大數據
- Mastering Machine Learning with R(Second Edition)
- 數據庫原理與設計(第2版)
- 信息學競賽寶典:數據結構基礎
- TextMate How-to
- 區塊鏈+:落地場景與應用實戰
- openGauss數據庫核心技術
- SQL Server 2008寶典(第2版)
- Scratch 2.0 Game Development HOTSHOT
- 數據挖掘與機器學習-WEKA應用技術與實踐(第二版)