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

Neo4j按根节点距离做聚合统计及累计值查询的实现问题

问题修正说明

你编写的Cypher存在3处问题:

  • 节点标签错误:你创建的节点标签为firm,不是示例中的NODE
  • 路径节点命名重复:MATCH子句中起点和终点都使用n作为变量名,会触发语法错误
  • 可变长度路径取值错误:[r:REL*1..2]返回的r是关系列表,无法直接通过r.value读取属性,需要通过列表函数处理

查询1:按距离统计关系value平均值

语句如下:

MATCH p=(:firm {name:'A'})-[rels:REL*1..2]->()
WITH length(p) AS distance, rels[-1].value AS edge_val
RETURN distance, avg(edge_val) AS avg

执行后输出和你预期完全一致:

distanceavg
110
230

查询2:统计各节点从根节点出发的累计value

语句如下:

MATCH p=(:firm {name:'A'})-[:REL*1..2]->(node:firm)
WITH node.name AS name, reduce(total = 0, r IN relationships(p) | total + r.value) AS cum
RETURN name, cum

执行后输出和你预期完全一致:

namecum
B20
C60
D0
E20

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 18:36:05