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 https://127.0.0.1:7474/ 打开 Neo4j 的内置浏览器应用程序,如下面的屏幕截图所示。

Browser App

步骤 2 - 将所需的查询复制粘贴到美元提示符中,然后按播放按钮(执行查询),如下面的屏幕截图中突出显示。

Return

结果

执行后,您将获得以下结果。

Create Player

返回多个节点

您还可以使用 return 子句返回多个节点。

语法

以下是使用 return 子句返回多个节点的语法。

CREATE (Ind:Country {name: "India", result: "Winners"}) 
CREATE (CT2013:Tornament {name: "ICC Champions Trophy 2013"}) 
RETURN Ind, CT2013 

示例

以下是一个示例 Cypher 查询,用于使用 return 子句返回多个节点。

CREATE (Ind:Country {name: "India", result: "Winners"}) 
CREATE (CT2013:Tornament {name: "ICC Champions Trophy 2013"}) 
RETURN Ind, CT2013 

要执行上述查询,请执行以下步骤:

步骤 1 - 打开 Neo4j 桌面应用程序并启动 Neo4j 服务器。使用 URL https://127.0.0.1:7474/ 打开 Neo4j 的内置浏览器应用程序,如下面的屏幕截图所示。

Browser App

步骤 2 - 将所需的查询复制粘贴到美元提示符中,然后按播放按钮(执行查询),如下面的屏幕截图中突出显示。

Multi Node

结果

执行后,您将获得以下结果。在这里您可以观察到 Neo4j 返回了 2 个节点。

Create Tornament

返回关系

您还可以使用 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 https://127.0.0.1:7474/ 打开 Neo4j 的内置浏览器应用程序,如下面的屏幕截图所示。

Browser App

步骤 2 - 将所需的查询复制粘贴到美元提示符中,然后按播放按钮(执行查询),如下面的屏幕截图中突出显示。

Relationship Return

结果

执行后,您将获得以下结果。

Create Winners

返回属性

您还可以使用 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 https://127.0.0.1:7474/ 打开 Neo4j 的内置浏览器应用程序,如下面的屏幕截图所示。

Browser App

步骤 2 - 将所需的查询复制粘贴到美元提示符中,然后按播放按钮(执行查询),如下面的屏幕截图中突出显示。

Property Return

结果

执行后,您将获得以下结果。

Streaming

返回所有元素

您可以使用 RETURN 子句返回 Neo4j 数据库中的所有元素。

示例

以下是一个示例 Cypher 查询,用于返回数据库中的所有元素。

Match p = (n {name: "India", result: "Winners"})-[r]-(x)  
RETURN * 

要执行上述查询,请执行以下步骤:

步骤 1 - 打开 Neo4j 桌面应用程序并启动 Neo4j 服务器。使用 URL https://127.0.0.1:7474/ 打开 Neo4j 的内置浏览器应用程序,如下面的屏幕截图所示。

Browser App

步骤 2 - 将所需的查询复制粘贴到美元提示符中,然后按播放按钮(执行查询),如下面的屏幕截图中突出显示。

All Elements

结果

执行后,您将获得以下结果。

All Elements Result

使用列别名返回变量

您可以在 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 https://127.0.0.1:7474/ 打开 Neo4j 的内置浏览器应用程序,如下面的屏幕截图所示。

Browser App

步骤 2 - 将所需的查询复制粘贴到美元提示符中,然后按播放按钮(执行查询),如下面的屏幕截图中突出显示。

Return Column

结果

执行后,您将获得以下结果。

Column Alias
广告