我有一组节点,如下所示:
dalle{"ident":"A-1-1-1","networkId":1,"numberId":1,"地板":1,"房间":1,"建筑物":"A","buildingId":1}
我想对我的节点进行分组,所以我执行以下命令:
CALL apoc.nodes.group(['dalle'], ['building', 'floor', 'room'])
YIELD nodes, relationships
RETURN nodes, relationships
我得到的结果真的很好,除了一个细节,我失去了一些属性,我的节点现在是:
{"地板":3,"count_*":1,"建筑物":"C","房间":1}
为什么我会失去属性?
我试图更新节点以设置一些属性,如下所示:
CALL apoc.nodes.group(['dalle'], ['building', 'floor', 'room'])
YIELD nodes, relationships
FOREACH(n IN nodes | SET n.ident=n.building+n.floor)
RETURN nodes, relationships
但它对我的查询结果没有任何更改。
谢谢!
您应该阅读apoc.nodes.group过程的文档,看看它是否真的适合您使用。
该过程返回虚拟节点和关系。由于虚拟节点和关系实际上不在DB中,SET子句对它们不起作用。
如果希望在虚拟节点中显示更多属性,则必须将它们添加到传递给过程的属性列表中。例如:['building', 'floor', 'room', 'ident']
。