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;

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

相关推荐
TGITCIC12 小时前
讲透知识图谱Neo4j在构建Agent时到底怎么用(二)
人工智能·知识图谱·neo4j·ai agent·ai智能体·大模型落地·graphrag
TGITCIC2 天前
讲透知识图谱Neo4j在构建Agent时到底怎么用(一)
知识图谱·neo4j·ai agent·智能体·图搜索·ai智能体·graphrag
菜鸟冲锋号2 天前
从零搭建高可用GraphRAG系统:LangChain+Neo4j+FAISS+Qwen-7B实战指南
langchain·neo4j·faiss
一车小面包5 天前
Neo4j中的APOC
算法·neo4j
人工小情绪6 天前
python报错:AttributeError: module ‘numpy‘ has no attribute ‘object‘.
python·numpy·neo4j
Java后端的Ai之路7 天前
【神经网络基础】-TensorFlow Serving官方的生产级模型部署
神经网络·部署·tensorflow·neo4j·tensorflowserv
咋吃都不胖lyh15 天前
Neo4j 知识讲解与在线工具使用教程
neo4j
麦麦大数据16 天前
F056 知识图谱飞机问答系统
人工智能·flask·vue·问答系统·知识图谱·neo4j·飞机
麦麦大数据17 天前
F054-基于Vue+Flask+Neo4j构建的移民知识图谱可视化分析系统
vue.js·flask·知识图谱·neo4j·移民分析
新鲜势力呀17 天前
TensorFlow 中 tf.placeholder 适用版本解析|附 PHP 调用 TF 模型实战(兼容低版本)
tensorflow·php·neo4j