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;

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

相关推荐
黑金IT6 小时前
将Neo4j用于Python学习的创新方法
python·学习·neo4j
RINO喵16 小时前
DAY10 Tensorflow 基本函数使用
人工智能·tensorflow·neo4j
落落落sss6 天前
封装neo4j的持久层和服务层
java·前端·网络·数据库·spring·elasticsearch·neo4j
缘友一世7 天前
Spring Data Neo4j
java·spring·neo4j
亲持红叶7 天前
神经网络常见激活函数 10-GELU函数
人工智能·神经网络·neo4j
我爱夜来香A8 天前
图数据库neo4j进阶(一):csv文件导入节点及关系
数据库·neo4j
缘友一世12 天前
Neo4j 5.26.x容器 APOC插件Generating Graphs无法正常使用解决方法/Neo4j 5.26.x容器安装APOC拓展库
neo4j
Gratitute_林腾12 天前
neo4j-neo4j网页版的基本操作
neo4j
Gratitute_林腾12 天前
neo4j-解决导入数据后出现:Database ‘xxxx‘ is unavailable. Run :sysinfo for more info.
数据库·neo4j
初学者↑12 天前
知识图谱可视化系统python+neo4j+vue3
python·知识图谱·neo4j