我开始使用 Cypher for Neo4J 的 LOAD CSV 将更大的 csv 文件导入我的数据库。我想为每个导入的节点添加一个唯一 ID (uuid) 作为属性。
我的尝试是:
LOAD CSV FROM "file:..." AS csvLine
CREATE (c:Customer { uuid: {uuid}, name: csvLine[0], code: csvLine[1]})
不幸的是,我为每个节点收到相同的 UUID(尽管它的函数通常会在调用时生成新的 UUID),但看起来 UUID 生成了 1 次,然后在创建节点和解析 csv 文件时附加到每个节点.
有没有办法为每个导入的 csv 行生成一个新的 UUID 来标记节点?
谢谢你的提示
巴莱尔
最佳答案
不确定您在哪里看到 {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)
关于csv - neo4j:带有 uuid 的 Cypher LOAD CSV,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27082647/