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 的“大于或等于”运算符。
广告

© . All rights reserved.