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

如何返回包含最多3个SECOND关系的FIRST|SECOND变长路径?

最优解决方案:限制变长路径中SECOND关系的数量

要返回由FIRST和SECOND类型关系组成、且其中SECOND关系数量最多为3的变长路径,可以通过路径匹配+条件过滤的方式实现,具体Cypher语句如下:

MATCH path=(a)-[r:FIRST|SECOND*..]->(b)
WHERE size([rel IN relationships(path) WHERE type(rel) = 'SECOND']) <= 3
RETURN path

逻辑说明

  • MATCH path=(a)-[r:FIRST|SECOND*..]->(b):匹配所有起点为a、终点为b,由任意数量FIRST或SECOND关系组成的变长路径(*..表示路径长度无上限,若需要限制总关系数量,可改为*..n,比如*..10表示总关系数不超过10)。
  • WHERE size([rel IN relationships(path) WHERE type(rel) = 'SECOND']) <= 3:通过列表推导式提取路径中所有SECOND类型的关系,用size()获取其数量,过滤出数量≤3的路径。

性能优化提示

如果数据库数据量较大,建议结合节点标签、属性等条件缩小匹配范围,避免全图扫描。例如若a和b属于Node标签,可修改为:

MATCH path=(a:Node)-[r:FIRST|SECOND*..]->(b:Node)
WHERE size([rel IN relationships(path) WHERE type(rel) = 'SECOND']) <= 3
RETURN path

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 09:25:09