Neo4j - Return 子句
RETURN 子句用于在 Neo4j 中返回节点、关系和属性。 在本章中,我们将学习如何 −
- 返回节点
- 返回多个节点
- 返回关系
- 返回属性
- 返回所有元素
- 返回带有列别名的变量
返回节点
您可以使用 RETURN 子句返回节点。
语法
以下是使用 RETURN 子句返回节点的语法。
Create (node:label {properties}) RETURN node
示例
在继续该示例之前,请创建 3 个节点和 2 个关系,如下所示。
Create (Dhoni:player {name: "MahendraSingh Dhoni", YOB: 1981, POB: "Ranchi"}) CREATE (Ind:Country {name: "India", result: "Winners"}) CREATE (CT2013:Tornament {name: "ICC Champions Trophy 2013"}) CREATE (Ind)-[r1:WINNERS_OF {NRR:0.938 ,pts:6}]->(CT2013) CREATE(Dhoni)-[r2:CAPTAIN_OF]->(Ind)
以下是一个示例 Cypher 查询,它创建一个名为 Dhoni 的节点并返回它。
Create (Dhoni:player {name: "MahendraSingh Dhoni", YOB: 1981, POB: "Ranchi"}) RETURN Dhoni
要执行上述查询,请执行以下步骤 −
第 1 步 − 打开 Neo4j 桌面应用程序并启动 Neo4j 服务器。 使用 URL http://localhost:7474/ 打开 Neo4j 的内置浏览器应用程序,如下面的屏幕截图所示。
第 2 步 − 将所需的查询复制并粘贴到 $ 美元提示符中,然后按以下屏幕截图中突出显示的player按钮(以执行查询)。
结果
执行后,您将得到以下结果。
返回多个节点
您还可以使用 return 子句返回多个节点。
语法
以下是使用 return 子句返回多个节点的语法。
CREATE (Ind:Country {name: "India", result: "Winners"}) CREATE (CT2013:Tornament {name: "ICC Champions Trophy 2013"}) RETURN Ind, CT2013
示例
以下是使用 return 子句返回多个节点的 Cypher 查询示例。
CREATE (Ind:Country {name: "India", result: "Winners"}) CREATE (CT2013:Tornament {name: "ICC Champions Trophy 2013"}) RETURN Ind, CT2013
要执行上述查询,请执行以下步骤 −
第 1 步 − 打开 Neo4j 桌面应用程序并启动 Neo4j 服务器。 使用 URL http://localhost:7474/ 打开 Neo4j 的内置浏览器应用程序,如下面的屏幕截图所示。
第 2 步 − 将所需的查询复制并粘贴到 $ 美元提示符中,然后按以下屏幕截图中突出显示的player按钮(以执行查询)。
结果
执行后,您将得到以下结果。 在这里您可以观察到 Neo4j 返回了 2 个节点。
返回关系
您还可以使用 Return 子句返回关系。
语法
以下是使用 RETURN 子句返回关系的语法。
CREATE (node1)-[Relationship:Relationship_type]->(node2) RETURN Relationship
示例
以下是一个示例 Cypher 查询,它创建两个关系并返回它们。
CREATE (Ind)-[r1:WINNERS_OF {NRR:0.938 ,pts:6}]->(CT2013) CREATE(Dhoni)-[r2:CAPTAIN_OF]->(Ind) RETURN r1, r2
要执行上述查询,请执行以下步骤 −
第 1 步 − 打开 Neo4j 桌面应用程序并启动 Neo4j 服务器。 使用 URL http://localhost:7474/ 打开 Neo4j 的内置浏览器应用程序,如下面的屏幕截图所示。
第 2 步 − 将所需的查询复制并粘贴到 $ 美元提示符中,然后按以下屏幕截图中突出显示的player按钮(以执行查询)。
结果
执行后,您将得到以下结果。
返回属性
您还可以使用 RETURN 子句返回属性。
语法
以下是使用 RETURN 子句返回属性的语法。
Match (node:label {properties . . . . . . . . . . }) Return node.property
示例
以下是返回节点属性的 Cypher 查询示例。
Match (Dhoni:player {name: "MahendraSingh Dhoni", YOB: 1981, POB: "Ranchi"}) Return Dhoni.name, Dhoni.POB
要执行上述查询,请执行以下步骤 −
第 1 步 − 打开 Neo4j 桌面应用程序并启动 Neo4j 服务器。 使用 URL http://localhost:7474/ 打开 Neo4j 的内置浏览器应用程序,如下面的屏幕截图所示。
第 2 步 − 将所需的查询复制并粘贴到 $ 美元提示符中,然后按以下屏幕截图中突出显示的player按钮(以执行查询)。
结果
执行后,您将得到以下结果。
返回所有元素
您可以使用 RETURN 子句返回 Neo4j 数据库中的所有元素。
示例
以下是返回数据库中所有元素的 Cypher 查询示例。
Match p = (n {name: "India", result: "Winners"})-[r]-(x) RETURN *
要执行上述查询,请执行以下步骤 −
第 1 步 − 打开 Neo4j 桌面应用程序并启动 Neo4j 服务器。 使用 URL http://localhost:7474/ 打开 Neo4j 的内置浏览器应用程序,如下面的屏幕截图所示。
第 2 步 − 将所需的查询复制并粘贴到 $ 美元提示符中,然后按以下屏幕截图中突出显示的player按钮(以执行查询)。
结果
执行后,您将得到以下结果。
返回带有列别名的变量
您可以在 Neo4j 中使用 RETURN 子句返回带有别名的特定列。
示例
以下是一个示例 Cypher 查询,它返回 POB 列作为出生地。
Match (Dhoni:player {name: "MahendraSingh Dhoni", YOB: 1981, POB: "Ranchi"}) Return Dhoni.POB as Place Of Birth
要执行上述查询,请执行以下步骤 −
第 1 步 − 打开 Neo4j 桌面应用程序并启动 Neo4j 服务器。 使用 URL http://localhost:7474/ 打开 Neo4j 的内置浏览器应用程序,如下面的屏幕截图所示。
第 2 步 − 将所需的查询复制并粘贴到 $ 美元提示符中,然后按以下屏幕截图中突出显示的player按钮(以执行查询)。
结果
执行后,您将得到以下结果。