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

如何在图数据库中使用Cypher筛选两节点间的中间节点

过滤Cypher路径中的起始和终止节点,保留中间节点

你可以通过两种原生Cypher方法实现需求,直接过滤掉路径中的起始(A)和终止(E)节点:

方法1:列表切片(简洁高效)

利用Cypher的列表切片语法,直接截取路径节点列表中除首尾外的部分:

MATCH p= (A:City{name: 'City1'})-[:LINKED*]->(E:City{name: "City5"})
RETURN nodes(p)[1..-1] AS middle_nodes

nodes(p)[1..-1]的含义是:从列表索引1(第二个节点,即B)开始,到倒数第二个节点(即D)结束,自动跳过第一个(A)和最后一个(E)节点。

方法2:条件过滤(逻辑清晰)

通过列表推导式明确排除起始和终止节点,适合需要添加额外过滤规则的场景:

MATCH p= (A:City{name: 'City1'})-[:LINKED*]->(E:City{name: "City5"})
RETURN [node IN nodes(p) WHERE node <> A AND node <> E] AS middle_nodes

遍历路径上的所有节点,仅保留既不是A也不是E的节点,最终得到B、C、D。

内容的提问来源于stack exchange,提问作者Александр Сосо

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 08:05:26