根据从CSV加载的键值对动态创建属性名称

时间:2019-02-15 17:45:31

标签: neo4j cypher

我正在尝试从Neo4j中的csv文件加载数据。在我的文件中,我有键和值列。我需要通过使用键设置节点属性的名称,然后再设置该键的值。例如,

Key   | Value
______________
Name | John
Age  | 23

节点上的属性应类似于Name: John, Age: 23。我的SET命令是错误的,但是我不知道如何解决它。如果您能帮助我,那就太好了。

LOAD CSV WITH HEADERS FROM 'file:///properties.csv' AS line
MATCH (n {id:line.ID})
SET n[line.KEY] = line.Value

谢谢

1 个答案:

答案 0 :(得分:0)

Mark Needham's blog post中所述,您可以使用apoc.create.setProperty()动态设置属性名称。

所以,而不是

SET n[line.KEY] = line.Value

使用

CALL apoc.create.setProperty(n, line.KEY, line.Value)