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

如何设置Neo4j节点间不同关系类型的数量限制?

正确的Cypher查询语法(限制CONNECTION和EXCHANGE关系数量)

Cypher不支持直接在关系路径中为不同类型的关系分别指定数量范围,你需要通过WHERE子句统计并过滤路径中两种关系的数量。以下是正确的查询语句:

MATCH path = (from:Station {id: 61})-[:IN]->(sec_from:Section),
      (to:Station {id: 131})<-[:OUT]-(sec_to:Section),
      route=(sec_from)-[:CONNECTION|EXCHANGE*]->(sec_to)
WHERE 
  size([r IN relationships(route) WHERE type(r) = 'CONNECTION']) BETWEEN 1 AND 100
  AND size([r IN relationships(route) WHERE type(r) = 'EXCHANGE']) BETWEEN 0 AND 3
RETURN route;

关键说明:

  • relationships(route):提取路径route中的所有关系集合
  • size([r IN ... WHERE type(r) = 'XXX']):统计路径中指定类型关系的数量
  • 通过BETWEEN关键字分别对两种关系的数量进行范围限制

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 02:42:35