我从MySQL数据库的select查询中提取了两个值。第一个包含属性名称,第二个包含属性的值。
是否有办法使用参数将值分配给第一个字段中的名称,例如
在行中设置名称.Property_Name = row.Property_Value
2 个答案:
答案 0 :(得分:1)
仅使用Cypher无法执行此操作:n[name]
语法允许您read但不能使用动态名称编写属性。
但是,您可以使用APOC程序执行此操作,即使文档中当前缺少该程序:apoc.create.setProperty()
。它位于APOC的3.0和3.1分支中,因此您可以使用任何Neo4j 3.x实例。
CALL apoc.create.setProperty(n, row.Property_Name, row.Property_Value)
答案 1 :(得分:1)
如果您可以将这些键/值对更改为地图,则可以在节点上设置它们。
如果map已更改为参数,则语法对于节点列n:
看起来像这样
SET n += $map
您可能需要查看文档中的SET clause。