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 |