Neo4j Cypher 查詢語言


Neo4j 資料庫是圖資料庫中最受歡迎的選擇之一。其原因之一是它強大的查詢語言 Cypher。Neo4j 開發了自己的查詢語言 Cypher,它與 SQL 不同,它操作的是節點而不是表、行和列。它的語法類似於 SQL,但更適合處理圖資料。這是因為 Neo4j 是一個圖資料庫,它將資料儲存在節點和關係中,可以以圖形格式而不是傳統的表格格式進行視覺化。

在本文中,我們將討論 Cypher、它的重要性和各種示例。

介紹

Cypher 是一種宣告式查詢語言。它允許您查詢圖資料庫,例如 Neo4j。它已成為使用 Neo4j 的首選語言。Cypher 易於學習和使用,即使對於以前沒有圖資料庫經驗的人也是如此。

Cypher 重要的原因有很多。它允許以簡單直觀的方式進行復雜的圖查詢。Cypher 設計為可擴充套件的。Cypher 對效能進行了高度最佳化。

語法

使用 Cypher 查詢 Neo4j 資料庫相對簡單。Cypher 查詢的基本語法如下:

MATCH (n)
WHERE ...
RETURN ...
  • `MATCH` 關鍵字用於指定圖中匹配的節點和關係模式。

  • `WHERE` 子句用於根據特定條件過濾結果。

  • `RETURN` 關鍵字用於指定查詢返回的資料。

示例-1

例如,以下 Cypher 查詢將查詢圖中所有具有標籤“Person”的節點,並返回其姓名和年齡。

MATCH (p:Person)
RETURN p.name, p.age

Cypher 還支援各種函式和運算子。這些允許我們以各種方式操作和分析圖資料。一些常見的示例包括:

  • `COUNT` 返回匹配特定模式的節點或關係的數量

  • `ORDER BY` 根據指定的屬性或表示式對查詢結果進行排序

  • `DISTINCT` 只返回唯一結果

  • `LIMIT` 限制查詢返回的結果數量

示例-2

為了說明 Neo4j 的 Cypher 和 SQL 之間的區別,請考慮以下示例。下面的 Cypher 語句使用變數“G”儲存返回的資料,檢索“name”屬性設定為“TutorialsPoint”的“Company”節點。

MATCH (G:Company { name:"TutorialsPoint" })
RETURN G

相反,等效的 SQL 查詢將是

SELECT * FROM Company WHERE name = "TutorialsPoint";

Neo4j 被設計為 NoSQL 資料庫。它也可以有效地與關係資料庫一起使用。但是,Neo4j 的查詢語言不使用 SQL。它依賴於 Cypher 語言來與其基於圖的資料模型互動。

ASCII 藝術語法

Neo4j 使用 ASCII 藝術語法來表示其圖資料模型中的模式。節點由括號“( )”表示,節點之間的關係由“->”表示。要指定關係型別,可以使用方括號“[]”,後跟一個標籤。例如,模式“(X)-[:TutorialsPoint]->(Y)”表示兩個節點 X 和 Y 之間型別為“TutorialsPoint”的關係。

定義資料

  • Neo4j 中的節點帶有標籤,這有助於定義它們表示的值的型別。標籤可以是任何內容,從“Person”到“Employee”或“Employer”。

  • 節點還可以具有諸如“name”、“employee_id”和“phone_number”之類的屬性。這些提供了附加資訊。

  • Neo4j 中的關係也可以具有屬性,但這並非必需。

  • 節點之間的關係由其連線的性質定義,例如“X 為 TutorialsPoint 工作”。這種關係可以用 Cypher 語言表示為 (X)-[:WORK]->(TutorialsPoint)。

  • 在示例查詢“MATCH (G:Company { name:"TutorialsPoint" }) RETURN G”中,“Company”是節點的標籤,“name”是其屬性之一。該查詢檢索標記為“Company”且名稱為“TutorialsPoint”的節點。

結論

Cypher 允許查詢和分析 Neo4j 資料庫中的圖資料。Cypher 是使用圖資料庫的重要工具。

我們討論了 Neo4j(一種流行的圖資料庫)中使用的 Cypher 查詢語言。Cypher 是一種宣告式語言,它操作節點和關係。它允許以直觀的方式進行復雜的查詢。語法包括 MATCH、WHERE 和 RETURN 等關鍵字。Cypher 支援各種函式和運算子,例如 COUNT 和 ORDER BY,並且可以用於操作和分析圖資料。Neo4j 的 ASCII 藝術語法表示其圖資料模型中的模式。節點帶有標籤,關係可以具有屬性。Cypher 對效能進行了最佳化,並允許擴充套件。總的來說,Cypher 是查詢和分析 Neo4j 資料庫中圖資料的重要工具。

更新於:2023年5月18日

瀏覽量:1000+

啟動您的職業生涯

透過完成課程獲得認證

開始學習
廣告
© . All rights reserved.