Neo4j CQL - 簡介



CQL 代表 Cypher 查詢語言。就像 Oracle 資料庫擁有 SQL 查詢語言一樣,Neo4j 使用 CQL 作為其查詢語言。

Neo4j CQL

  • 是 Neo4j 圖資料庫的查詢語言。
  • 是一種宣告式的模式匹配語言。
  • 遵循類似 SQL 的語法。
  • 語法非常簡單,易於人類閱讀。

類似 Oracle SQL

  • Neo4j CQL 包含執行資料庫操作的命令。

  • Neo4j CQL 支援許多子句,例如 WHERE、ORDER BY 等,以便以簡單的方式編寫非常複雜的查詢。

  • Neo4j CQL 支援一些函式,例如字串函式、聚合函式。此外,它還支援一些關係函式。

Neo4j CQL 子句

以下是 Neo4j **C**ypher **Q**uery **L**anguage 的讀取子句:

序號 讀取子句 用法
1 MATCH 此子句用於使用指定模式搜尋資料。
2 OPTIONAL MATCH 與 MATCH 相同,唯一的區別在於,如果模式的某些部分缺失,它可以使用空值。
3 WHERE 此子句用於向 CQL 查詢中新增條件。
4 START 此子句用於透過舊版索引查詢起點。
5 LOAD CSV 此子句用於從 CSV 檔案匯入資料。

以下是 Neo4j **C**ypher **Q**uery **L**anguage 的寫入子句:

序號 寫入子句 用法
1 CREATE 此子句用於建立節點、關係和屬性。
2 MERGE 此子句驗證指定的模式是否在圖中存在。如果不存在,則建立該模式。
3 SET 此子句用於更新節點上的標籤、節點和關係上的屬性。
4 DELETE 此子句用於從圖中刪除節點、關係或路徑等。
5 REMOVE 此子句用於從節點和關係中刪除屬性和元素。
6 FOREACH 此子句用於更新列表中的資料。
7 CREATE UNIQUE 使用 CREATE 和 MATCH 子句,您可以透過匹配現有模式並建立缺失的模式來獲得唯一的模式。
8 使用 Cypher 匯入 CSV 檔案 使用 LOAD CSV,您可以從 .csv 檔案匯入資料。

以下是 Neo4j **C**ypher **Q**uery **L**anguage 的通用子句:

序號 通用子句 用法
1 RETURN 此子句用於定義要包含在查詢結果集中的內容。
2 ORDER BY 此子句用於按順序排列查詢的輸出。它與 **RETURN** 或 **WITH** 子句一起使用。
3 LIMIT 此子句用於將結果中的行數限制為特定值。
4 SKIP 此子句用於定義從哪一行開始包含輸出中的行。
5 WITH 此子句用於將查詢部分連結在一起。
6 UNWIND 此子句用於將列表擴充套件為一系列行。
7 UNION 此子句用於組合多個查詢的結果。
8 CALL 此子句用於呼叫部署在資料庫中的過程。

Neo4j CQL 函式

以下是常用的 Neo4j CQL 函式:

序號 CQL 函式 用法
1 字串函式 它們用於處理字串文字。
2 聚合函式 它們用於對 CQL 查詢結果執行一些聚合操作。
3 關係函式 它們用於獲取關係的詳細資訊,例如起始節點、結束節點等。

我們將在後續章節中詳細討論所有 Neo4j CQL 命令、子句和函式的語法、用法和示例。

Neo4j CQL 資料型別

這些資料型別類似於 Java 語言。它們用於定義節點或關係的屬性。

Neo4j CQL 支援以下資料型別:

序號 CQL 資料型別 用法
1 布林型 它用於表示布林文字:true、false。
2 位元組型 它用於表示 8 位整數。
3 短整型 它用於表示 16 位整數。
4 整型 它用於表示 32 位整數。
5 長整型 它用於表示 64 位整數。
6 單精度浮點數 它用於表示 32 位浮點數。
7 雙精度浮點數 它用於表示 64 位浮點數。
8 字元型 它用於表示 16 位字元。
9 字串函式 它用於表示字串。

CQL 運算子

以下是 Neo4j Cypher 查詢語言支援的運算子列表。

序號 型別 運算子
1 數學運算子 +, -, *, /, %, ^
2 比較運算子 +, <>, <, >, <=, >=
3 布林型 AND、OR、XOR、NOT
4 字串函式 +
5 列表運算子 +、IN、[X]、[X…..Y]
6 正則表示式 =-
7 字串匹配 STARTS WITH、ENDS WITH、約束

Neo4j CQL 中的布林運算子

Neo4j 支援以下布林運算子,用於在 Neo4j CQL WHERE 子句中支援多個條件。

序號 布林運算子 描述
1 AND 它是 Neo4j CQL 關鍵字,用於支援 AND 操作。它類似於 SQL AND 運算子。
2 OR 它是 Neo4j CQL 關鍵字,用於支援 OR 操作。它類似於 SQL AND 運算子。
3 NOT 它是 Neo4j CQL 關鍵字,用於支援 NOT 操作。它類似於 SQL AND 運算子。
4 XOR 它是 Neo4j CQL 關鍵字,用於支援 XOR 操作。它類似於 SQL AND 運算子。

Neo4j CQL 中的比較運算子

Neo4j 支援以下比較運算子,用於在 Neo4j CQL WHERE 子句中支援條件。

序號 布林運算子 描述
1 = 它是 Neo4j CQL 的“等於”運算子。
2 < > 它是 Neo4j CQL 的“不等於”運算子。
3 < 它是 Neo4j CQL 的“小於”運算子。
4 > 它是 Neo4j CQL 的“大於”運算子。
5 <= 它是 Neo4j CQL 的“小於或等於”運算子。
6 > = 它是 Neo4j CQL 的“大於或等於”運算子。
廣告