使用 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']
.
我有一组节点,如下所示:
达尔{ "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']
.