使用 apoc.nodes.group() 时松散节点属性

loose nodes properties while using apoc.nodes.group()

我有一组节点,如下所示:

达尔{ "ident": "A-1-1-1", "networkId": 1, "numberId": 1, "floor": 1, "room": 1, "building": "A", "buildingId": 1 }

我想对我的节点进行分组,所以我执行了这个命令:

CALL apoc.nodes.group(['dalle'], ['building', 'floor', 'room'])
YIELD nodes, relationships
RETURN nodes, relationships

我得到的结果非常好,除了一个细节,我失去了一些属性,我的节点现在是:

{ "floor": 3, "count_*": 1, "building": "C", "room": 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 过程的文档,看看它是否真的适合您使用。

该程序 returns virtual nodes and relationships. Since virtual nodes and relationships are not actually in the DB, the SET 子句对它们不起作用。

如果您希望在虚拟节点中显示更多属性,则必须将它们添加到传递给过程的属性列表中。例如:['building', 'floor', 'room', 'ident'].