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;

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

相关推荐
独隅9 小时前
用 Anaconda 驯服 AI 开发流:从数据预处理到模型部署的全链路环境标准化实战指南
人工智能·neo4j
哥本哈士奇11 小时前
Neo4j笔记(五):查询的处理流程
neo4j
百年੭ ᐕ)੭*⁾⁾8 天前
docker使用neo4j
docker·容器·neo4j
金斗潼关9 天前
neo4j使用说明
neo4j
田井中律.11 天前
neo4j图数据库安装教程(windows)
数据库·neo4j
RENMinWanSui!11 天前
Neo4j-Desktop2.0安装教程(更改安装路径)
笔记·neo4j·neo4j-desktop
哥本哈士奇12 天前
Neo4j笔记(四):一篇文章如何入库的
neo4j
V+zmm1013412 天前
毕业设计:基于neo4j的知识图谱的智能问答系统(源码)
spring boot·毕业设计·知识图谱·课程设计·neo4j·智能问答·毕设
Kakaxiii13 天前
【2026最新】Neo4j 数据库如何像 MySQL 一样导出和快速恢复完整数据
数据库·mysql·neo4j
哥本哈士奇(aspnetx)13 天前
Neo4j 笔记(四):一篇文章如何入库的
neo4j