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

如何查找特定关系节点?用Cypher查询指定城市所属国家

用Cypher查询特定关系的节点

要查找具有特定关系的节点,核心是在Cypher的MATCH子句中明确关系类型,结合节点标签进行匹配:

  • 查找与指定节点存在特定关系的节点
    比如假设存在(:City)-[:BELONGS_TO]->(:Country)的关系模型,要找"北京"所属的国家节点,可写:

    MATCH (c:City {name: "北京"})-[:BELONGS_TO]->(country:Country)
    RETURN country
    
  • 查找所有存在特定关系的节点对
    如果不需要限定起始节点,直接匹配所有带目标关系的节点组合:

    MATCH (a)-[:BELONGS_TO]->(b)
    RETURN a, b
    
用Cypher查找具有特定属性的节点

通过在MATCH子句的节点括号内添加属性条件,即可筛选出符合要求的节点:

  • 精确匹配属性值
    比如查找所有名称为"London"的城市节点:

    MATCH (city:City {name: "London"})
    RETURN city
    
  • 模糊匹配或范围匹配属性
    支持使用比较运算符(如STARTS WITH、>、<)进行灵活筛选,比如查找名称以"New"开头的城市:

    MATCH (city:City)
    WHERE city.name STARTS WITH "New"
    RETURN city
    
根据城市名称查询所属国家

基于你提到的城市-国家数据模型,假设数据结构为(:City {name: "城市名称"})-[:BELONGS_TO]->(:Country {name: "国家名称"}),可用以下查询获取指定城市对应的国家:

// 替换"你的目标城市名"为实际城市名称
MATCH (city:City {name: "你的目标城市名"})-[:BELONGS_TO]->(country:Country)
RETURN country.name AS 所属国家

如果需要参数化查询(避免硬编码,更安全),可写:

MATCH (city:City {name: $cityName})-[:BELONGS_TO]->(country:Country)
RETURN country.name AS 所属国家

执行时传入cityName参数即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 16:05:01