RETURN
示例图
以下图表用于下方的示例
要重建该图,请对空的 Neo4j 数据库运行以下查询。
CREATE
(keanu:Person {name: 'Keanu Reeves', bornIn: 'Beirut', nationality: 'Canadian'}),
(taiChi:Movie {title: 'Man of Tai Chi', released: 2013}),
(keanu)-[:ACTED_IN]->(taiChi),
(keanu)-[:DIRECTED]->(taiChi)
返回节点
若要返回节点,请在 RETURN 子句中列出它
MATCH (p:Person {name: 'Keanu Reeves'})
RETURN p
| p |
|---|
|
行:1 |
返回关系
若要返回关系类型,请在 RETURN 子句中列出它
MATCH (p:Person {name: 'Keanu Reeves'})-[r:ACTED_IN]->(m)
RETURN type(r)
| type(r) |
|---|
|
行:1 |
返回属性
若要返回特定属性,请使用点号分隔符
MATCH (p:Person {name: 'Keanu Reeves'})
RETURN p.bornIn
| p.bornIn |
|---|
|
行:1 |
| 返回属性比返回完整的节点或关系性能更高。 |
返回所有元素
若要返回查询中找到的所有节点、关系和路径,请使用 * 符号
MATCH p = (keanu:Person {name: 'Keanu Reeves'})-[r]->(m)
RETURN *
这将返回两个节点,以及它们之间可能存在的两条路径。
| keanu | m | p | r |
|---|---|---|---|
|
|
|
|
|
|
|
|
行:1 |
|||
包含非常规字符的变量
若要引入由非英文字母组成的变量,请使用 ` 将变量括起来
MATCH (`/uncommon variable\`)
WHERE `/uncommon variable\`.name = 'Keanu Reeves'
RETURN `/uncommon variable\`.bornIn
返回 name 属性设置为 'Keanu Reeves' 的节点的 bornIn 属性
/uncommon variable\.bornIn |
|---|
|
行:1 |
列别名
可以使用 AS 运算符重命名返回的列名
MATCH (p:Person {name: 'Keanu Reeves'})
RETURN p.nationality AS citizenship
返回 'Keanu Reeves' 的 nationality 属性,但该列被重命名为 citizenship。
| citizenship |
|---|
|
行:1 |
可选属性
如果属性的存在与否未知,它仍然可以包含在 RETURN 子句中。如果属性缺失,它将被视为 null。
MATCH (n)
RETURN n.bornIn
此示例返回具有 bornIn 属性的节点的该属性,对于缺失该属性的节点则返回 null。
| n.bornIn |
|---|
|
|
行:2 |
其他表达式
任何表达式都可以作为返回项使用——包括字面量、谓词、属性、函数等。
MATCH (m:Movie {title: 'Man of Tai Chi'})
RETURN m.released < 2012, "I'm a literal",[p=(m)--() | p] AS `(m)--()`
返回一个谓词、一个字面量和一个带有模式表达式参数的函数调用
| m.released < 2012 | "I’m a literal" | (m)--() |
|---|---|---|
|
|
|
行:1 |
||
唯一结果
DISTINCT 仅检索所选输出列的唯一行。
MATCH (p:Person {name: 'Keanu Reeves'})-->(m)
RETURN DISTINCT m
查询返回了 Movie 节点 'Man of Tai Chi',但仅返回一次(如果不使用 DISTINCT 运算符,由于从 'Keanu Reeves' 指向它的关系有两条,它本会被返回两次)
| m |
|---|
|
行:1 |
RETURN ALL引入于 2025.06
返回所有结果也可以通过在 RETURN 中显式包含 ALL 来实现。RETURN ALL 关键字是作为 Cypher® GQL 一致性的一部分引入的,其功能与简单的 RETURN 相同。
MATCH (p:Person {name: 'Keanu Reeves'})-->(m)
RETURN ALL m
同一个节点被返回了两次,因为有两条从 'Keanu Reeves' 连接到它的关系。
| m |
|---|
|
|
行:1 |