Neo4j 简明教程

Neo4j CQL - Introduction

CQL 是 Cypher 查询语言的简称。就像 Oracle Database 具有 SQL 查询语言一样,Neo4j 具有 CQL 作为查询语言。

Neo4j CQL

  1. 是 Neo4j 图数据库的查询语言。

  2. 是一种声明式模式匹配语言。

  3. Follows SQL like syntax.

  4. 语法非常简单且采用人类可读格式。

Like Oracle SQL

  1. Neo4j CQL 具有执行数据库操作的命令。

  2. Neo4j CQL 支持许多子句,例如 WHERE、ORDER BY 等,以便轻松编写极其复杂的查询。

  3. 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

此子句用于按顺序排列查询的输出。它与 RETURNWITH 子句一起使用。

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 算子。

Comparison Operators in Neo4j CQL

Neo4j 支持在 Neo4j CQL WHERE 子句中使用以下比较运算符,以支持条件。

Sr.No

Boolean Operators

Description

1

=

这是一个 Neo4j CQL “等于”运算符。

2

<

这是一个 Neo4j CQL “不等于”运算符。

3

<

这是一个 Neo4j CQL “小于”运算符。

4

>

这是一个 Neo4j CQL “大于”运算符。

5

这是一个 Neo4j CQL “小于或等于”运算符。

6

> =

这是一个 Neo4j CQL “大于或等于”运算符。