Neo4j 参数查询,其中内容决定属性名称和指定的属性值

Neo4j 参数查询,其中内容决定属性名称和指定的属性值,neo4j,cypher,Neo4j,Cypher,我从MySQL数据库上的select查询中提取了两个值。第一个包含属性名,第二个包含属性值 是否有方法使用参数将值分配给第一个字段中的名称,例如 在row.Property\u name=row.Property\u Value中设置名称仅使用Cypher是不可能的:语法允许您使用动态名称编写属性,但不允许使用动态名称编写属性 但是,您可以使用一个过程来完成此操作,即使文档中当前缺少它:apoc.create.setProperty()。它位于APOC的和分支中,因此您可以使用任何Neo4j 3

我从MySQL数据库上的select查询中提取了两个值。第一个包含属性名,第二个包含属性值

是否有方法使用参数将值分配给第一个字段中的名称,例如


在row.Property\u name=row.Property\u Value中设置名称

仅使用Cypher是不可能的:语法允许您使用动态名称编写属性,但不允许使用动态名称编写属性

但是,您可以使用一个过程来完成此操作,即使文档中当前缺少它:
apoc.create.setProperty()
。它位于APOC的和分支中,因此您可以使用任何Neo4j 3.x实例

CALL apoc.create.setProperty(n, row.Property_Name, row.Property_Value)

仅使用Cypher是不可能的:语法允许您使用动态名称编写属性,但不允许使用动态名称编写属性

但是,您可以使用一个过程来完成此操作,即使文档中当前缺少它:
apoc.create.setProperty()
。它位于APOC的和分支中,因此您可以使用任何Neo4j 3.x实例

CALL apoc.create.setProperty(n, row.Property_Name, row.Property_Value)

如果可以将这些键/值对更改为映射,则可以在节点上设置它们

如果map已更改为参数,则节点n列的语法如下所示:

SET n += $map

您可能需要查看文档中的。

如果可以将这些键/值对更改为映射,则可以在节点上设置它们

如果map已更改为参数,则节点n列的语法如下所示:

SET n += $map

您可能需要查看文档中的。

看起来很有希望。还没有。获取错误:查询内的过程调用不支持隐式命名结果(改为使用
YIELD
显式命名)(第18行第3列(偏移量:720))“调用apoc.create.setProperty(n,row.Property_name,row.Property_Value)”看起来很有希望。还没有。获取错误:查询内的过程调用不支持隐式命名结果(改为使用
YIELD
显式命名)(第18行第3列(偏移量:720))“调用apoc.create.setProperty(n,row.Property_name,row.Property_Value)”