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

Cypher如何将节点出边关联节点数量设置为节点自身属性

报错原因说明

  • 尝试1报错:Cypher不支持在SET子句中直接使用count()这类聚合函数,聚合计算必须先通过WITH子句完成,才能将结果用于属性赋值。
  • 尝试2报错:WITH子句会清空之前的查询上下文,只有显式写在WITH后的变量才能被后续子句调用,你没有将n放到WITH的返回列表中,所以SET子句无法识别变量n。

正确实现语句

你需要统计不同的目标节点,所以要加上DISTINCT去重,避免同一对节点间多关系被重复计数:

// 如果要给所有节点计算出边指向的不同节点数
MATCH (n)-->(m)
WITH n, count(DISTINCT m) AS out_node_count
SET n.out = out_node_count
RETURN n.name, n.out

如果只需计算指定节点A的属性,可在MATCH中添加节点过滤条件,避免全库扫描,示例:

// 假设节点A有name属性值为"A"
MATCH (n {name: 'A'})-->(m)
WITH n, count(DISTINCT m) AS out_node_count
SET n.out = out_node_count
RETURN n.name, n.out

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 03:24:02