Neo4j :在foreach中动态创建节点属性或类似,其中属性键/值未知?



这就是我卡住的地方。

set t[x] = value[1]

属性值/键仅在运行时已知。

在创建节点后查找动态设置属性值,如下所示:

match (a:User) 
with distinct(a.name) as property 
Match(b:Product) with property, b.Phone as value  
foreach(x in property  | 
create(t:Test) set t[x] = value[1])

(注意set t[x] = value[1](

match (a:User) with distinct(a.name) as property
Match(b:Product) with property, b.Phone as value  
foreach(x in property  | 
call apoc.apoc.create.nodes('Test', [x,value[0]))

(请注意apoc.apoc.create.nodes('Test', [x,value[0])(

意图是用户属性的值成为测试节点的属性。

您可以尝试使用apoc.map.setKey函数来设置映射的属性:

WITH {} as props
WITH apoc.map.setKey(props, "name", "Jack") as props
WITH apoc.map.setKey(props, "surname", "Smith") as props
CREATE (N:TEST) SET N = props
RETURN N

最新更新