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

如何在Neo4j中通过Cypher查询匹配重复关系模式获取节点下游数据

Neo4j特定模式路径遍历Cypher查询方案

查询需求梳理

你需要匹配的下游遍历路径规则为:从F1节点出发,沿Function节点 -[:provides]-> Information节点 -[:requires]-> Function节点的模式循环遍历,获取路径上所有关联数据。

可用Cypher查询

1. 返回完整遍历路径(包含所有中间节点和关系)

MATCH path = (startF:Function {name: 'F1'})-[:provides]->(:Information)(<-[:requires]-(:Function)-[:provides]->(:Information))*0..
RETURN nodes(path) AS 路径节点列表, relationships(path) AS 路径关系列表

2. 仅返回所有下游不重复的节点

MATCH (startF:Function {name: 'F1'})-[:provides]->(:Information)(<-[:requires]-(:Function)-[:provides]->(:Information))*0..(endNode)
RETURN DISTINCT endNode AS 下游节点

语法说明

  • (路径模式)*0.. 为Cypher可变长度路径匹配语法,这里*0..表示模式重复0次到无限次,可覆盖F1直接输出的I1、到最深层的I3所有节点,你也可以自定义上下限,比如*1..3表示最多遍历3层下游
  • 示例中用name: 'F1'匹配起始节点,你可以根据你的实际节点唯一标识属性替换(如id: 'F1'等)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 08:30:00