簡體   English   中英

neo4j:Cypher用uuid加載CSV

[英]neo4j: Cypher LOAD CSV with uuid

我開始使用Cypher的LOAD CSV for Neo4J將更大的csv文件導入我的數據庫。 我想向每個導入的節點添加一個唯一的ID(uuid)作為屬性。

我的嘗試是:

LOAD CSV FROM "file:..." AS csvLine
CREATE (c:Customer { uuid: {uuid}, name: csvLine[0], code: csvLine[1]})

不幸的是,我為每個節點收到相同的UUID(雖然它是一個通常在調用時生成UUID的函數),看起來UUID生成了一次,然后在創建節點和解析csv文件時附加到每個節點。

有沒有辦法為每個導入的csv-line生成一個新的UUID來標記節點?

感謝Balael的提示

不知道你在哪里看到{uuid}是一個函數。 它只是使用你傳入的任何參數“uuid”。

創建CSV時,您必須生成一個uuid。 在cypher中,目前沒有uuid()函數。

您可以做的一個解決方法是:

LOAD CSV FROM "file:..." AS csvLine
CREATE (c:Customer { name: csvLine[0], code: csvLine[1]})
SET c.id = id(c)

您還可以使用GraphAware UUID模塊

您所要做的就是將框架jaruuid模塊jar放入plugins目錄,將以下2行添加到neo4j.properties中,然后重新啟動Neo4j。

com.graphaware.runtime.enabled=true
com.graphaware.module.UIDM.1=com.graphaware.module.uuid.UuidBootstrapper

任何新節點(無論如何創建)都將自動獲得UUID。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM