我有两个从MySQL数据库上的选择查询提取的值。第一个包含属性名称,第二个包含属性的值。
是否有一种方法使用参数将值分配给第一个字段中的名称,即
之类的东西在row.property_name中设置名称= row.property_value
不可能仅使用Cypher进行:n[name]
语法允许您阅读但不编写具有动态名称的属性。
但是,即使文档中丢失了apoc.create.setProperty()
,您也可以使用APOC过程进行操作。它在APOC的3.0和3.1分支中,因此您可以使用任何Neo4J 3.x实例。
CALL apoc.create.setProperty(n, row.Property_Name, row.Property_Value)
如果您可以将这些键/值对更改为地图,则可以在节点上设置它们。
语法,如果映射已更改为参数,则在节点n的列中看起来像这样。
SET n += $map
您可能需要查看文档中的集合子句。