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

如何编写Neo4j Cypher查询返回仅同时关联种族和年龄两类分组的人员节点

Cypher查询实现方案

方案1:模式匹配写法(直观易读)

MATCH (p:Person)-[:BELONGS_TO]->(:Ethnicity), (p)-[:BELONGS_TO]->(:Age)
RETURN DISTINCT p.name AS person_name
  • 说明:同时匹配Person指向两类分组的关联关系,加DISTINCT避免单个Person属于多个同类型分组时返回重复结果。

方案2:存在性判断写法(性能更优,推荐)

MATCH (p:Person)
WHERE exists((p)-[:BELONGS_TO]->(:Ethnicity))
  AND exists((p)-[:BELONGS_TO]->(:Age))
RETURN p.name AS person_name
  • 说明:直接对所有Person节点做存在性校验,无需处理多匹配带来的笛卡尔积问题,数据量较大时查询效率远高于方案1。
  • 注意:如果你的图谱中Person和分组的关联关系类型不是BELONGS_TO,请替换为实际使用的关系类型即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 07:36:05