Neo4j之union基础

UNION 用于将多个 MATCHRETURN 子句的结果合并为一个结果集。它可以用来合并不同模式的节点和关系,或者将多个查询的结果合并在一起。以下是一些常用的示例和解释:

基本用法

sql 复制代码
MATCH (p:Person)
WHERE p.age > 30
RETURN p.name AS name
UNION
MATCH (m:Movie)
WHERE m.year > 2000
RETURN m.title AS name

这个示例中,首先从满足条件的人节点中返回姓名,然后使用 UNION 将结果与满足条件的电影节点的标题合并起来。

多个查询合并

sql 复制代码
MATCH (p:Person)
RETURN p.name AS name
UNION
MATCH (m:Movie)
RETURN m.title AS name
UNION
RETURN 'Unknown' AS name

这个示例中,将三个查询的结果合并在一起,分别是人的姓名、电影的标题以及一个固定的字符串。

合并节点和关系

sql 复制代码
MATCH (p:Person)-[:ACTED_IN]->(m:Movie)
RETURN p.name AS name
UNION
MATCH (d:Director)-[:DIRECTED]->(m:Movie)
RETURN d.name AS name

这个示例中,将演员和导演的姓名合并在一起,他们分别与电影节点通过不同关系相连接。

使用 ORDER BY 排序

sql 复制代码
MATCH (p:Person)
RETURN p.name AS name
UNION
MATCH (m:Movie)
RETURN m.title AS name
ORDER BY name

这个示例中,先分别从人和电影节点中获取姓名和标题,然后使用 ORDER BY 对合并后的结果集进行排序。

总之,UNION 用于合并多个查询的结果,这些查询可以涉及不同类型的节点和关系,或者处理不同的属性。合并后的结果集会去除重复项,可以根据需要使用 ORDER BY 进行排序。

相关推荐
野指针121381 天前
部署GraphRAG配置Neo4j实现知识图谱可视化【踩坑经历】
知识图谱·neo4j·graphrag
从零开始学习人工智能1 天前
在 Neo4j 中实现向量化存储:从文本到高效语义搜索
neo4j
楠奕1 天前
python中使用neo4j
开发语言·python·neo4j
Ailovelearning1 天前
neo4j框架:ubuntu系统中neo4j安装与使用教程
数据库·neo4j
IT小郭.2 天前
使用 Docker Desktop 安装 Neo4j 知识图谱
windows·python·sql·docker·知识图谱·database·neo4j
AI大模型顾潇3 天前
[特殊字符] 本地大模型编程实战(29):用大语言模型LLM查询图数据库NEO4J(2)
前端·数据库·人工智能·语言模型·自然语言处理·prompt·neo4j
辛一一4 天前
neo4j图数据库基本概念和向量使用
数据库·neo4j
Ultipa5 天前
回答 | 图形数据库neo4j社区版可以应用小型企业嘛?
数据库·neo4j·图数据库
火云牌神7 天前
在windows系统中安装图数据库NEO4J
数据库·windows·neo4j
joker_sxj8 天前
【已解决】Neo4j Desktop打不开,不断网解决
neo4j