官术网_书友最值得收藏!

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官網。

主站蜘蛛池模板: 昌宁县| 柳州市| 柳州市| 贵德县| 维西| 吉林省| 宝应县| 徐水县| 额济纳旗| 武汉市| 鄯善县| 邢台县| 镇原县| 叙永县| 尼木县| 洛浦县| 清远市| 汤原县| 永仁县| 个旧市| 仙桃市| 河北区| 南投县| 林州市| 新安县| 汕尾市| 安国市| 石城县| 龙里县| 随州市| 浦东新区| 汉中市| 刚察县| 余干县| 昌吉市| 京山县| 沈丘县| 庆安县| 日土县| 内乡县| 乌海市|