Neo4j 简明教程
Neo4j CQL - Introduction
CQL 是 Cypher 查询语言的简称。就像 Oracle Database 具有 SQL 查询语言一样,Neo4j 具有 CQL 作为查询语言。
Like Oracle SQL
-
Neo4j CQL 具有执行数据库操作的命令。
-
Neo4j CQL 支持许多子句,例如 WHERE、ORDER BY 等,以便轻松编写极其复杂的查询。
-
Neo4j CQL 支持某些函数,例如 String、Aggregation。此外,它还支持某些关系函数。
Neo4j CQL Clauses
以下是 Neo4j *C*ypher *Q*uery *L*anguage 的读取子句:
Sr.No |
Read Clauses |
Usage |
1 |
MATCH |
此子句用于按照指定模式搜索数据。 |
2 |
OPTIONAL MATCH |
这与匹配相同,唯一不同的是,在缺少模式部分时它可以使用空值。 |
3 |
WHERE |
此子句 id 用于向 CQL 查询添加内容。 |
4 |
START |
此子句用于通过传统索引查找起始点。 |
5 |
LOAD CSV |
此子句用于从 CSV 文件导入数据。 |
以下是 Neo4j *C*ypher *Q*uery *L*anguage 的写入子句:
Sr.No |
Write Clause |
Usage |
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 的常用子句 -
Sr.No |
General Clauses |
Usage |
1 |
RETURN |
此子句用于定义查询结果集中应包含的内容。 |
2 |
ORDER BY |
此子句用于按顺序排列查询的输出。它与 RETURN 或 WITH 子句一起使用。 |
3 |
LIMIT |
此子句用于将结果中的行限制为特定值。 |
4 |
SKIP |
此子句用于定义从哪一行开始在输出中包含行。 |
5 |
WITH |
此子句用于将查询部分连接在一起。 |
6 |
UNWIND |
此子句用于将列表展开为一系列行。 |
7 |
UNION |
此子句用于合并多个查询的结果。 |
8 |
CALL |
此子句用于调用在数据库中部署的过程。 |
Neo4j CQL Functions
以下是常用的 Neo4j CQL 函数 -
Sr.No |
CQL Functions |
Usage |
1 |
String |
它们用于使用字符串文本。 |
2 |
Aggregation |
它们用于对 CQL 查询结果执行某些聚合操作。 |
3 |
Relationship |
它们用于获取关系的详细信息,例如 startnode、endnode 等。 |
在后续章节中,我们将详细讨论所有 Neo4j CQL 命令、子句和函数的语法、用法和示例。
Neo4j CQL Data Types
这些数据类型类似于 Java 语言。它们用于定义节点或关系的属性。
Neo4j CQL 支持以下数据类型 −
Sr.No |
CQL Data Type |
Usage |
1 |
Boolean |
它用于表示布尔文字:true、false。 |
2 |
byte |
它用于表示 8 位整数。 |
3 |
short |
它用于表示 16 位整数。 |
4 |
int |
它用于表示 32 位整数。 |
5 |
long |
它用于表示 64 位整数。 |
6 |
float |
它用于表示 32 位浮点数。 |
7 |
double |
它用于表示 64 位浮点数。 |
8 |
char |
它用于表示 16 位字符。 |
9 |
String |
它用于表示字符串。 |
CQL Operators
以下列出了 Neo4j Cypher 查询语言支持的操作符。
Sr.No |
Type |
Operators |
1 |
Mathematical |
+、-、*、/、%、^ |
2 |
Comparison |
+、<>、<、>、⇐、>= |
3 |
Boolean |
AND, OR, XOR, NOT |
4 |
String |
+ |
5 |
List |
+, IN, [X], [X…..Y] |
6 |
Regular Expression |
=- |
7 |
String matching |
STARTS WITH、ENDS WITH、CONSTRAINTS |
Boolean Operators in Neo4j CQL
Neo4j 支持使用 Neo4j CQL WHERE 子句中的以下布尔运算符来支持多个条件。
Sr.No |
Boolean Operators |
Description |
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 算子。 |