You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Neo4j中按子组分组并输出数组的数组格式结果

Neo4j实现分组得到数组的数组输出

情况1:基于层级关系分组(父-子-孙节点结构)

假设你的节点标签为Node,节点有属性code,父节点与子节点间存在PARENT_OF关系,根节点的code格式为ST00X(如ST001、ST002),可使用以下Cypher查询:

MATCH path = (root:Node)-[:PARENT_OF*0..2]->(child:Node)
WHERE root.code =~ 'ST00\\d'
WITH root, collect(child.code) AS group
RETURN collect(group) AS result
  • *0..2表示匹配根节点自身及往下两层的子节点,若层级数不同可调整这个范围
  • root.code =~ 'ST00\\d'用于筛选目标根节点,可根据实际code规则修改正则

情况2:基于code前缀分组

如果无需依赖层级关系,仅按code的前缀(如前5位)分组,可使用:

MATCH (n:Node)
WHERE n.code =~ 'ST00\\d.*'
WITH left(n.code, 5) AS prefix, collect(n.code) AS group
RETURN collect(group) AS result
  • left(n.code,5)取code的前5位作为分组标识,若前缀长度不同可修改数字
  • 正则ST00\\d.*确保只匹配以ST00开头的节点

注意事项

  • 请根据实际场景调整节点标签、属性名、关系类型和正则规则
  • 执行查询后,result字段就是你需要的嵌套数组格式

内容的提问来源于stack exchange,提问作者svk003

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 11:52:06