如何使用Cypher查询语言查找特定属性节点并获取单个城市人口?
使用Cypher查询特定属性节点的方法
假设你的城市数据以标签为City的节点存储,节点包含name(城市名称)和population(人口)两个属性,以下是几种常用的查询方式:
精准查询指定城市的人口
这是最直接的方式,通过精确匹配城市名称筛选节点,返回目标人口数据:
MATCH (c:City) WHERE c.name = '北京' // 将'北京'替换为你要查询的城市名称 RETURN c.name AS 城市名称, c.population AS 人口数量
代码说明
MATCH (c:City):匹配所有标签为City的节点,用c作为节点别名简化后续引用WHERE c.name = '北京':筛选出名称完全匹配的节点,字符串值需要用单引号包裹RETURN ... AS ...:指定要返回的属性,并用AS为结果列设置可读性更强的别名
模糊匹配查询(可选)
如果不确定城市名称的精确写法,可以使用模糊匹配语法:
// 匹配名称包含指定关键词的城市 MATCH (c:City) WHERE c.name CONTAINS '京' RETURN c.name AS 城市名称, c.population AS 人口数量 // 匹配以指定字符串开头的城市 MATCH (c:City) WHERE c.name STARTS WITH '北' RETURN c.name AS 城市名称, c.population AS 人口数量
注意事项
- 确认节点标签和属性名与数据库实际存储一致:如果你的城市节点标签不是
City,或者人口属性名为pop而非population,需要对应修改代码中的字段名 - 大小写处理:Cypher默认区分字符串大小写,若需忽略大小写,可使用
toLower()函数统一转换:MATCH (c:City) WHERE toLower(c.name) = toLower('beijing') RETURN c.name AS 城市名称, c.population AS 人口数量
内容的提问来源于stack exchange,提问作者Taja Jan
相关产品推荐
相关产品推荐

