在导入CSV时为节点的属性创建列表类型集合

时间:2019-01-24 18:12:37

标签: neo4j cypher

我正在尝试将CS​​V导入Neo4j并为节点创建一个列表集合类型属性。

我尝试使用下面的代码,但是它为csvline.name中的值创建了多个节点。

LOAD CSV WITH HEADERS FROM "file:\\persons1.csv" AS csvLine
merge (p:Persons {id: toInteger(csvLine.id), name: [csvLine.name]})

CREATE (n:Person{name:'john',age:34,gender:'m', phone_no:[1234,5678]})

在上述情况下,我希望只创建一个具有属性并收集电话号码的节点。

1 个答案:

答案 0 :(得分:0)

由于您的CREATE子句与LOAD CSV在同一个Cypher语句中,因此它将对每个csvLine值执行一次。

如果希望只执行一次,则需要分别运行CREATE子句。 (但是您可能仍然会结露两个带有Person,“ John”的name节点,因为一个MERGE调用可能已经创建了一个。)