Neo4j之where基础

WHERE在MATCH或者OPTINALMATCH语句中添加约束,或者与WITH起使用来过滤结果。 WHERE不能单独使用, 它只能作为MATCH、 OPTINAL MATCH、 START和WITH的 一部分。 如果是在WITH和START中, 它用于过滤结果。 对于MATCH和OPTTNAL MATCH, WHERE为模式增加约束, 它不能看作是匹配完成后的结果过滤。


基本比较:

sql 复制代码
MATCH (person:Person)
WHERE person.age > 25
RETURN person.name;

这个查询会匹配年龄大于 25 岁的所有人,并返回他们的姓名。

多个条件:

sql 复制代码
MATCH (movie:Movie)
WHERE movie.released >= 2000 AND movie.released <= 2010
RETURN movie.title;

这个查询会返回在 2000 年到 2010 年之间发布的电影的标题。

字符串匹配:

sql 复制代码
MATCH (person:Person)
WHERE person.name CONTAINS 'John'
RETURN person.name;

这个查询会返回姓名中包含 "John" 的所有人。

模式匹配:

sql 复制代码
MATCH (actor:Person)-[:ACTED_IN]->(movie:Movie)
WHERE actor.name = 'Tom Hanks' AND movie.released > 2000
RETURN actor.name, movie.title;

这个查询会返回 Tom Hanks 在 2000 年之后参演过的电影。

使用正则表达式:

sql 复制代码
MATCH (person:Person)
WHERE person.name =~ '(?i).*smith.*'
RETURN person.name;

这个查询会返回姓名中包含 "smith"(不区分大小写)的所有人。

筛选属性是否存在:

sql 复制代码
MATCH (person:Person)
WHERE exists(person.age)
RETURN person.name;

这个查询会返回那些有年龄属性的人的姓名。

对属性值进行 NULL 判断:

sql 复制代码
MATCH (person:Person)
WHERE person.age IS NULL
RETURN person.name;

这个查询会返回年龄属性为空的人的姓名。

相关推荐
AI-好学者4 天前
RDF对比与Neo4j性能优化
人工智能·知识图谱·neo4j·knowledge graph
冷小鱼9 天前
Neo4j 深度解析:从原生图存储到 GraphRAG 的知识图谱革命
人工智能·知识图谱·neo4j
24计网1王仔寿13 天前
Linux运维与云计算全栈系统化学习指南(Shell+虚拟化+OpenStack+Docker+公私云实战)
linux·课程设计·数据库开发·微信公众平台·neo4j·命令模式·sequoiadb
羊羊小栈1 个月前
基于GraphRAG的医疗健康知识诊断系统(Neo4j_大语言模型)
人工智能·语言模型·毕业设计·知识图谱·创业创新·neo4j·大作业
羊羊小栈1 个月前
基于GraphRAG的地质矿产知识管理系统(Neo4j_大语言模型)
人工智能·语言模型·自然语言处理·毕业设计·neo4j·大作业
夜郎king1 个月前
SpringBoot 整合 Neo4j 实战:从零搭建经典小说知识图谱完整方案
spring boot·知识图谱·neo4j
羊羊小栈1 个月前
基于知识图谱(Neo4j)和大语言模型(LLM)的图检索增强(GraphRAG)的数控车床主轴系统故障诊断智能问答系统
人工智能·语言模型·毕业设计·知识图谱·创业创新·neo4j·大作业
_Rookie._1 个月前
neo4j图形数据库 -基础语法
neo4j
星川皆无恙1 个月前
基于BERT+LSTM+CRF与知识图谱的医疗智能问答系统实战:Neo4j图数据库+实体识别+意图分析完整项目
数据库·人工智能·深度学习·bert·lstm·知识图谱·neo4j
飞行家贞贞1 个月前
Windows 安装 Neo4j(2025最新·极简)
neo4j