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://: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://: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://: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://: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://: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://:7474/ 開啟 Neo4j 的內建瀏覽器應用程式,如下面的螢幕截圖所示。

Browser App

步驟 2 - 將所需的查詢複製貼上到美元提示符中,然後按播放按鈕(執行查詢),如下面的螢幕截圖中突出顯示。

Return Column

結果

執行後,您將獲得以下結果。

Column Alias
廣告