diff --git a/docs-2.0/2.quick-start/1.quick-start-workflow.md b/docs-2.0/2.quick-start/1.quick-start-workflow.md
index 7dd9e5431a..59895b4a8f 100644
--- a/docs-2.0/2.quick-start/1.quick-start-workflow.md
+++ b/docs-2.0/2.quick-start/1.quick-start-workflow.md
@@ -1,66 +1,66 @@
# 快速入门
-快速入门将介绍如何简单地使用Nebula Graph,包括部署、连接Nebula Graph,以及基础的增删改查操作。
+快速入门将介绍如何简单地使用 Nebula Graph,包括部署、连接 Nebula Graph,以及基础的增删改查操作。
## 文档
-按照以下步骤可以快速部署并且使用Nebula Graph。
+按照以下步骤可以快速部署并且使用 Nebula Graph。
-1. [安装Nebula Graph](../4.deployment-and-installation/2.compile-and-install-nebula-graph/2.install-nebula-graph-by-rpm-or-deb.md)
+1. [安装 Nebula Graph](../4.deployment-and-installation/2.compile-and-install-nebula-graph/2.install-nebula-graph-by-rpm-or-deb.md)
- 使用RPM或DEB文件可以快速安装Nebula Graph。其它部署方式及相应的准备工作请参见[安装部署](../4.deployment-and-installation/1.resource-preparations.md)。
+ 使用 RPM 或 DEB 文件可以快速安装 Nebula Graph。其它部署方式及相应的准备工作请参见 [安装部署](../4.deployment-and-installation/1.resource-preparations.md)。
-2. [启动Nebula Graph](5.start-stop-service.md)
+2. [启动 Nebula Graph](5.start-stop-service.md)
- 部署好Nebula Graph之后需要启动Nebula Graph服务。
+ 部署好 Nebula Graph 之后需要启动 Nebula Graph 服务。
-3. [连接Nebula Graph](3.connect-to-nebula-graph.md)
+3. [连接 Nebula Graph](3.connect-to-nebula-graph.md)
- 启动Nebula Graph服务后即可使用客户端连接。Nebula Graph支持多种客户端,快速入门中介绍使用原生命令行客户端Nebula Console连接Nebula Graph的方法。
+ 启动 Nebula Graph 服务后即可使用客户端连接。Nebula Graph 支持多种客户端,快速入门中介绍使用原生命令行客户端 Nebula Console 连接 Nebula Graph 的方法。
-4. [使用常用nGQL(CRUD命令)](4.nebula-graph-crud.md)
+4. [使用常用 nGQL(CRUD 命令)](4.nebula-graph-crud.md)
- 连接到Nebula Graph之后即可使用nGQL(Nebula Graph Query Language)进行增删改查。
+ 连接到 Nebula Graph 之后即可使用 nGQL(Nebula Graph Query Language)进行增删改查。
## 视频
-用户也可以观看视频了解Nebula Graph的相关概念和操作。
+用户也可以观看视频了解 Nebula Graph 的相关概念和操作。
### 热点视频
-* [听吴敏博士聊Nebula Graph](https://www.bilibili.com/video/BV14U4y157zc)(37分40秒)
+* [听吴敏博士聊 Nebula Graph](https://www.bilibili.com/video/BV14U4y157zc)(37 分 40 秒)
-* [Foesa小学姐课堂——Nebula Graph那些磨人的概念](https://www.bilibili.com/video/BV1Q5411K7Gg)(04分20秒)
+* [Foesa 小学姐课堂——Nebula Graph 那些磨人的概念](https://www.bilibili.com/video/BV1Q5411K7Gg)(04 分 20 秒)
-* [Foesa小学姐课堂——path 的三种类型](https://www.bilibili.com/video/BV1Uf4y1t72L)(03分09秒)
+* [Foesa 小学姐课堂——path 的三种类型](https://www.bilibili.com/video/BV1Uf4y1t72L)(03 分 09 秒)
### 入门系列
-* [Nebula Graph Studio图探索](https://www.bilibili.com/video/BV1QN411Z7Vh)(03分23秒)
+* [Nebula Graph Studio 图探索](https://www.bilibili.com/video/BV1QN411Z7Vh)(03 分 23 秒)
-* [Nebula Exchange](https://www.bilibili.com/video/BV1Pq4y177D9)(03分08秒)
+* [Nebula Exchange](https://www.bilibili.com/video/BV1Pq4y177D9)(03 分 08 秒)
-* [Nebula Algorithm](https://www.bilibili.com/video/BV1fB4y1T7XK)(02分36秒)
+* [Nebula Algorithm](https://www.bilibili.com/video/BV1fB4y1T7XK)(02 分 36 秒)
-### NG辅导班
+### NG 辅导班
-* [第一篇:图世界的那些概念、术语](https://www.bilibili.com/video/BV17X4y1A7p9)(08分12秒)
+* [第一篇:图世界的那些概念、术语](https://www.bilibili.com/video/BV17X4y1A7p9)(08 分 12 秒)
-* [第二篇:如何更好地学习 Nebula Graph](https://www.bilibili.com/video/BV1aX4y1A7xd)(07分44秒)
+* [第二篇:如何更好地学习 Nebula Graph](https://www.bilibili.com/video/BV1aX4y1A7xd)(07 分 44 秒)
-请访问[Bilibili空间](https://space.bilibili.com/472621355),查看 30 多个,500 多分钟的系列视频。
+请访问 [Bilibili 空间](https://space.bilibili.com/472621355),查看 30 多个,500 多分钟的系列视频。
diff --git a/docs-2.0/2.quick-start/2.install-nebula-graph.md b/docs-2.0/2.quick-start/2.install-nebula-graph.md
index ce99db09ed..0c83c32e63 100644
--- a/docs-2.0/2.quick-start/2.install-nebula-graph.md
+++ b/docs-2.0/2.quick-start/2.install-nebula-graph.md
@@ -1,4 +1,4 @@
-# 步骤1:安装Nebula Graph
+# 步骤 1:安装 Nebula Graph
{% include "/source_install-nebula-graph-by-rpm-or-deb.md" %}
diff --git a/docs-2.0/2.quick-start/3.connect-to-nebula-graph.md b/docs-2.0/2.quick-start/3.connect-to-nebula-graph.md
index a188805977..cdc162635d 100644
--- a/docs-2.0/2.quick-start/3.connect-to-nebula-graph.md
+++ b/docs-2.0/2.quick-start/3.connect-to-nebula-graph.md
@@ -1,4 +1,4 @@
-# 步骤3:连接Nebula Graph
+# 步骤 3:连接 Nebula Graph
{% include "/source_connect-to-nebula-graph.md" %}
diff --git a/docs-2.0/2.quick-start/4.nebula-graph-crud.md b/docs-2.0/2.quick-start/4.nebula-graph-crud.md
index a7eee37cc9..56f81284b5 100644
--- a/docs-2.0/2.quick-start/4.nebula-graph-crud.md
+++ b/docs-2.0/2.quick-start/4.nebula-graph-crud.md
@@ -1,16 +1,16 @@
-# 步骤4:使用常用nGQL(CRUD命令)
+# 步骤 4:使用常用 nGQL(CRUD 命令)
-本文介绍Nebula Graph查询语言的基础语法,包括用于Schema创建和常用增删改查操作的语句。
+本文介绍 Nebula Graph 查询语言的基础语法,包括用于 Schema 创建和常用增删改查操作的语句。
-如需了解更多语句的用法,参见[nGQL指南](../3.ngql-guide/1.nGQL-overview/1.overview.md)。
+如需了解更多语句的用法,参见 [nGQL 指南](../3.ngql-guide/1.nGQL-overview/1.overview.md)。
-## 图空间和Schema
+## 图空间和 Schema
-一个Nebula Graph实例由一个或多个图空间组成。每个图空间都是物理隔离的,用户可以在同一个实例中使用不同的图空间存储不同的数据集。
+一个 Nebula Graph 实例由一个或多个图空间组成。每个图空间都是物理隔离的,用户可以在同一个实例中使用不同的图空间存储不同的数据集。
![Nebula Graph and graph spaces](https://docs-cdn.nebula-graph.com.cn/docs-2.0/2.quick-start/nebula-graph-instance-and-graph-spaces.png)
-为了在图空间中插入数据,需要为图数据库定义一个Schema。Nebula Graph的Schema是由如下几部分组成。
+为了在图空间中插入数据,需要为图数据库定义一个 Schema。Nebula Graph 的 Schema 是由如下几部分组成。
| 组成部分 | 说明|
| :--- | :--- |
@@ -19,17 +19,17 @@
| 边(Edge) | 表示两个点之间**有方向**的关系。|
| 边类型(Edge type) | 边的类型,定义了一组描述边的类型的属性。 |
-更多信息,请参见[数据结构](../1.introduction/2.data-model.md)。
+更多信息,请参见 [数据结构](../1.introduction/2.data-model.md)。
本文将使用下图的数据集演示基础操作的语法。
![The demo dataset](dataset-for-crud.png)
-## 检查Nebula Graph集群的机器状态
+## 检查 Nebula Graph 集群的机器状态
!!! Note
- 首先建议检查机器状态,确保所有的Storage服务连接到了Meta服务。执行命令`SHOW HOSTS`查看机器状态。
+ 首先建议检查机器状态,确保所有的 Storage 服务连接到了 Meta 服务。执行命令`SHOW HOSTS`查看机器状态。
```ngql
nebula> SHOW HOSTS;
@@ -43,13 +43,13 @@ nebula> SHOW HOSTS;
+-------------+-----------+-----------+--------------+----------------------+------------------------+
```
-在返回结果中,查看**Status**列,可以看到所有Storage服务都在线。
+在返回结果中,查看** Status **列,可以看到所有 Storage 服务都在线。
### 异步实现创建和修改
!!! caution
- Nebula Graph中执行如下创建和修改操作,是异步实现的。要在**下一个**心跳周期之后才能生效;否则访问会报错。
+ Nebula Graph 中执行如下创建和修改操作,是异步实现的。要在**下一个**心跳周期之后才能生效;否则访问会报错。
- `CREATE SPACE`
- `CREATE TAG`
@@ -61,17 +61,17 @@ nebula> SHOW HOSTS;
!!! Note
- 默认心跳周期是10秒。修改心跳周期参数`heartbeat_interval_secs`,请参见[配置简介](../5.configurations-and-logs/1.configurations/1.configurations.md)。
+ 默认心跳周期是 10 秒。修改心跳周期参数`heartbeat_interval_secs`,请参见 [配置简介](../5.configurations-and-logs/1.configurations/1.configurations.md)。
为确保数据同步,后续操作能顺利进行,可采取以下方法之一:
- 执行`SHOW`或`DESCRIBE`命令检查相应对象的状态,确保创建或修改已完成。如果没有完成,请等待几秒重试。
-- 等待2个心跳周期(20秒)。
+- 等待 2 个心跳周期(20 秒)。
## 创建和选择图空间
-### nGQL语法
+### nGQL 语法
- 创建图空间
@@ -84,7 +84,7 @@ nebula> SHOW HOSTS;
[COMMENT = ''];
```
- 参数详情请参见[CREATE SPACE](../3.ngql-guide/9.space-statements/1.create-space.md)。
+ 参数详情请参见 [CREATE SPACE](../3.ngql-guide/9.space-statements/1.create-space.md)。
diff --git a/docs-2.0/2.quick-start/6.cheatsheet-for-ngql-command.md b/docs-2.0/2.quick-start/6.cheatsheet-for-ngql-command.md
index 8d185765aa..d3a042fb8f 100644
--- a/docs-2.0/2.quick-start/6.cheatsheet-for-ngql-command.md
+++ b/docs-2.0/2.quick-start/6.cheatsheet-for-ngql-command.md
@@ -1,4 +1,4 @@
-# nGQL命令汇总
+# nGQL 命令汇总
## 函数
@@ -6,28 +6,28 @@
| 函数 | 说明 |
| :-------------------------------------- | :----------------------------------------------------------- |
- | double abs(double x) | 返回x的绝对值。 |
- | double floor(double x) | 返回小于或等于x的最大整数。 |
- | double ceil(double x) | 返回大于或等于x的最小整数。 |
- | double round(double x) | 返回离x最近的整数值,如果x恰好在中间,则返回离0较远的整数。 |
- | double sqrt(double x) | 返回x的平方根。 |
- | double cbrt(double x) | 返回x的立方根。 |
- | double hypot(double x, double y) | 返回直角三角形(直角边长为x和y)的斜边长。 |
+ | double abs(double x) | 返回 x 的绝对值。 |
+ | double floor(double x) | 返回小于或等于 x 的最大整数。 |
+ | double ceil(double x) | 返回大于或等于 x 的最小整数。 |
+ | double round(double x) | 返回离 x 最近的整数值,如果 x 恰好在中间,则返回离 0 较远的整数。 |
+ | double sqrt(double x) | 返回 x 的平方根。 |
+ | double cbrt(double x) | 返回 x 的立方根。 |
+ | double hypot(double x, double y) | 返回直角三角形(直角边长为 x 和 y)的斜边长。 |
| double pow(double x, double y) | 返回$x^y$的值。 |
| double exp(double x) | 返回$e^x$的值。 |
| double exp2(double x) | 返回$2^x2$的值。 |
- | double log(double x) | 返回以自然数e为底x的对数。 |
- | double log2(double x) | 返回以2为底x的对数。 |
- | double log10(double x) | 返回以10为底x的对数。 |
- | double sin(double x) | 返回x的正弦值。 |
- | double asin(double x) | 返回x的反正弦值。 |
- | double cos(double x) | 返回x的余弦值。 |
- | double acos(double x) | 返回x的反余弦值。 |
- | double tan(double x) | 返回x的正切值。 |
- | double atan(double x) | 返回x的反正切值。 |
- | double rand() | 返回[0,1)内的随机浮点数。 |
- | int rand32(int min, int max) | 返回`[min, max)`内的一个随机32位整数。 用户可以只传入一个参数,该参数会判定为`max`,此时`min`默认为`0`。 如果不传入参数,此时会从带符号的32位int范围内随机返回。 |
- | int rand64(int min, int max) | 返回`[min, max)`内的一个随机64位整数。 用户可以只传入一个参数,该参数会判定为`max`,此时`min`默认为`0`。 如果不传入参数,此时会从带符号的64位int范围内随机返回。 |
+ | double log(double x) | 返回以自然数 e 为底 x 的对数。 |
+ | double log2(double x) | 返回以 2 为底 x 的对数。 |
+ | double log10(double x) | 返回以 10 为底 x 的对数。 |
+ | double sin(double x) | 返回 x 的正弦值。 |
+ | double asin(double x) | 返回 x 的反正弦值。 |
+ | double cos(double x) | 返回 x 的余弦值。 |
+ | double acos(double x) | 返回 x 的反余弦值。 |
+ | double tan(double x) | 返回 x 的正切值。 |
+ | double atan(double x) | 返回 x 的反正切值。 |
+ | double rand() | 返回 [0,1) 内的随机浮点数。 |
+ | int rand32(int min, int max) | 返回`[min, max)`内的一个随机 32 位整数。 用户可以只传入一个参数,该参数会判定为`max`,此时`min`默认为`0`。 如果不传入参数,此时会从带符号的 32 位 int 范围内随机返回。 |
+ | int rand64(int min, int max) | 返回`[min, max)`内的一个随机 64 位整数。 用户可以只传入一个参数,该参数会判定为`max`,此时`min`默认为`0`。 如果不传入参数,此时会从带符号的 64 位 int 范围内随机返回。 |
| collect() | 将收集的所有值放在一个列表中。 |
| avg() | 返回参数的平均值。 |
| count() | 返回参数的数量。 |
@@ -35,13 +35,13 @@
| min() | 返回参数的最小值。 |
| std() | 返回参数的总体标准差。 |
| sum() | 返回参数的和。 |
- | bit_and() | 逐位做AND操作。 |
- | bit_or() | 逐位做OR操作。 |
- | bit_xor() | 逐位做XOR操作。 |
+ | bit_and() | 逐位做 AND 操作。 |
+ | bit_or() | 逐位做 OR 操作。 |
+ | bit_xor() | 逐位做 XOR 操作。 |
| int size() | 返回列表或映射中元素的数量。 |
- | int range(int start, int end, int step) | 返回`[start,end]`中指定步长的值组成的列表。步长`step`默认为1。 |
- | int sign(double x) | 返回x的正负号。 如果x为`0`,则返回`0`。 如果x为负数,则返回`-1`。 如果x为正数,则返回`1`。 |
- | double e() | 返回自然对数的底e(2.718281828459045)。 |
+ | int range(int start, int end, int step) | 返回`[start,end]`中指定步长的值组成的列表。步长`step`默认为 1。 |
+ | int sign(double x) | 返回 x 的正负号。 如果 x 为`0`,则返回`0`。 如果 x 为负数,则返回`-1`。 如果 x 为正数,则返回`1`。 |
+ | double e() | 返回自然对数的底 e(2.718281828459045)。 |
| double pi() | 返回数学常数π(3.141592653589793)。 |
| double radians() | 将角度转换为弧度。`radians(180)`返回`3.141592653589793`。 |
@@ -51,7 +51,7 @@
| 函数 | 说明 |
| :---------------------------------------------- | :----------------------------------------------------------- |
- | int strcasecmp(string a, string b) | 比较两个字符串(不区分大小写)。当a=b时,返回0,当a>b是,返回大于0的数,当ab 是,返回大于 0 的数,当 a`count()`返回总行数(包括NULL)。
`count(expr)`返回满足表达式的非空值的总数。
`count()`和`size()`是不同的。 |
+ | count() | 语法:`count({expr | *})` 。
`count()`返回总行数(包括 NULL)。
`count(expr)`返回满足表达式的非空值的总数。
`count()`和`size()`是不同的。 |
-* [collect函数](../3.ngql-guide/6.functions-and-expressions/10.collect.md)
+* [collect 函数](../3.ngql-guide/6.functions-and-expressions/10.collect.md)
| 函数 | 说明 |
| :-------- | :----------------------------------------------------------- |
@@ -134,7 +126,7 @@
-* [reduce函数](../3.ngql-guide/6.functions-and-expressions/11.reduce.md)
+* [reduce 函数](../3.ngql-guide/6.functions-and-expressions/11.reduce.md)
| 函数 | 语法 | 说明 |
| :------- | :-------------------------------------------------------- | ------------------------------------------------------------ |
@@ -142,23 +134,21 @@
-* [hash函数](../3.ngql-guide/6.functions-and-expressions/12.hash.md)
+* [hash 函数](../3.ngql-guide/6.functions-and-expressions/12.hash.md)
| 函数 | 说明 |
| :----- | :----------------------------------------------------------- |
- | hash() | `hash()`函数返回参数的哈希值。其参数可以是数字、字符串、列表、布尔值、NULL等类型的值,或者计算结果为这些类型的表达式。`hash()`函数采用MurmurHash2算法,种子(seed)为`0xc70f6907UL`。用户可以在[`MurmurHash2.h`](https://github.com/vesoft-inc/nebula/blob/master/src/common/base/MurmurHash2.h)中查看其源代码。 |
+ | hash() | `hash()`函数返回参数的哈希值。其参数可以是数字、字符串、列表、布尔值、NULL 等类型的值,或者计算结果为这些类型的表达式。`hash()`函数采用 MurmurHash2 算法,种子(seed)为`0xc70f6907UL`。用户可以在 [`MurmurHash2.h`](https://github.com/vesoft-inc/nebula/blob/master/src/common/base/MurmurHash2.h) 中查看其源代码。 |
-* [concat函数](../3.ngql-guide/6.functions-and-expressions/13.concat.md)
+* [concat 函数](../3.ngql-guide/6.functions-and-expressions/13.concat.md)
| 函数 | 说明 |
| :------- | :----------------------------------------------------------- |
| concat() | `concat()`函数至少需要两个或以上字符串参数,并将所有参数连接成一个字符串。
语法:`concat(string1,string2,...)` |
-
-
-* [concat_ws函数](../3.ngql-guide/6.functions-and-expressions/13.concat.md)
+* [concat_ws 函数](../3.ngql-guide/6.functions-and-expressions/13.concat.md)
| 函数 | 说明 |
| ----------- | ------------------------------------------------------------ |
@@ -182,11 +172,9 @@
| none() | 如果指定的谓词不适用于列表中的任何一个元素,则返回`true`,否则返回`false`。 |
| single() | 如果指定的谓词适用于列表中的唯一一个元素,则返回`true`,否则返回`false`。 |
+* [CASE 表达式](../3.ngql-guide/6.functions-and-expressions/5.case-expressions.md)
-
-* [CASE表达式](../3.ngql-guide/6.functions-and-expressions/5.case-expressions.md)
-
- `CASE`表达式使用条件来过滤nGQL查询语句的结果,常用于`YIELD`和`RETURN`子句中。`CASE`表达式会遍历所有条件,并在满足第一个条件时停止读取后续条件,然后返回结果。如果不满足任何条件,将通过`ELSE`子句返回结果。如果没有`ELSE`子句且不满足任何条件,则返回`NULL`。
+ `CASE`表达式使用条件来过滤 nGQL 查询语句的结果,常用于`YIELD`和`RETURN`子句中。`CASE`表达式会遍历所有条件,并在满足第一个条件时停止读取后续条件,然后返回结果。如果不满足任何条件,将通过`ELSE`子句返回结果。如果没有`ELSE`子句且不满足任何条件,则返回`NULL`。
语法:
@@ -205,8 +193,6 @@
| `result` | 如果`value`匹配`comparer`,则返回该`result`。 |
| `default` | 如果没有条件匹配,则返回该`default`。 |
-
-
## 通用查询语句
* [MATCH](../3.ngql-guide/7.general-query-statements/2.match.md)
@@ -218,33 +204,31 @@
| 模式 | 示例 | 说明 |
| --------------------------- | ------------------------------------------------------------ | ------------------------------------------------------------ |
| 匹配点 | `(v)` | 用户可以在一对括号中使用自定义变量来表示模式中的点。例如`(v)`。 |
- | 匹配Tag | `MATCH (v:player) RETURN v` | 用户可以在点的右侧用`:`表示模式中的Tag。 |
- | 匹配点的属性 | `MATCH (v:player{name:"Tim Duncan"}) RETURN v` | 用户可以在Tag的右侧用`{: }`表示模式中点的属性。 |
- | 匹配单点ID | `MATCH (v) WHERE id(v) == 'player101' RETURN v` | 用户可以使用点ID去匹配点。`id()`函数可以检索点的ID。 |
- | 匹配多点ID | `MATCH (v:player { name: 'Tim Duncan' })--(v2) WHERE id(v2) IN ["player101", "player102"] RETURN v2` | 要匹配多个点的ID,可以用`WHERE id(v) IN [vid_list]`。 |
+ | 匹配 Tag | `MATCH (v:player) RETURN v` | 用户可以在点的右侧用`:`表示模式中的 Tag。 |
+ | 匹配点的属性 | `MATCH (v:player{name:"Tim Duncan"}) RETURN v` | 用户可以在 Tag 的右侧用`{: }`表示模式中点的属性。 |
+ | 匹配单点 ID | `MATCH (v) WHERE id(v) == 'player101' RETURN v` | 用户可以使用点 ID 去匹配点。`id()`函数可以检索点的 ID。 |
+ | 匹配多点 ID | `MATCH (v:player { name: 'Tim Duncan' })--(v2) WHERE id(v2) IN ["player101", "player102"] RETURN v2` | 要匹配多个点的 ID,可以用`WHERE id(v) IN [vid_list]`。 |
| 匹配连接的点 | `MATCH (v:player{name:"Tim Duncan"})--(v2) RETURN v2.name AS Name` | 用户可以使用`--`符号表示两个方向的边,并匹配这些边连接的点。用户可以在`--`符号上增加`<`或`>`符号指定边的方向。 |
| 匹配路径 | `MATCH p=(v:player{name:"Tim Duncan"})-->(v2) RETURN p` | 连接起来的点和边构成了路径。用户可以使用自定义变量命名路径。 |
| 匹配边 | `MATCH (v:player{name:"Tim Duncan"})-[e]-(v2) RETURN e` | 除了用`--`、`-->`、`<--`表示未命名的边之外,用户还可以在方括号中使用自定义变量命名边。例如`-[e]-`。 |
- | 匹配Edge type | `MATCH ()-[e:follow]-() RETURN e` | 和点一样,用户可以用`:`表示模式中的Edge type,例如`-[e:follow]-`。 |
- | 匹配边的属性 | ` MATCH (v:player{name:"Tim Duncan"})-[e:follow{degree:95}]->(v2) RETURN e` | 用户可以用`{: }`表示模式中Edge type的属性,例如`[e:follow{likeness:95}]`。 |
- | 匹配多个Edge type | `MATCH (v:player{name:"Tim Duncan"})-[e:follow | :serve]->(v2) RETURN e` | 使用`|`可以匹配多个Edge type,例如`[e:follow | :serve]`。第一个Edge type前的英文冒号(:)不可省略,后续Edge type前的英文冒号可以省略,例如`[e:follow | serve]`。 |
+ | 匹配 Edge type | `MATCH ()-[e:follow]-() RETURN e` | 和点一样,用户可以用`:`表示模式中的 Edge type,例如`-[e:follow]-`。 |
+ | 匹配边的属性 | ` MATCH (v:player{name:"Tim Duncan"})-[e:follow{degree:95}]->(v2) RETURN e` | 用户可以用`{: }`表示模式中 Edge type 的属性,例如`[e:follow{likeness:95}]`。 |
+ | 匹配多个 Edge type | `MATCH (v:player{name:"Tim Duncan"})-[e:follow | :serve]->(v2) RETURN e` | 使用`|`可以匹配多个 Edge type,例如`[e:follow | :serve]`。第一个 Edge type 前的英文冒号(:)不可省略,后续 Edge type 前的英文冒号可以省略,例如`[e:follow | serve]`。 |
| 匹配多条边 | `MATCH (v:player{name:"Tim Duncan"})-[]->(v2)<-[e:serve]-(v3) RETURN v2, v3` | 用户可以扩展模式,匹配路径中的多条边。 |
| 匹配定长路径 | `MATCH p=(v:player{name:"Tim Duncan"})-[e:follow*2]->(v2) RETURN DISTINCT v2 AS Friends` | 用户可以在模式中使用`:*`匹配定长路径。`hop`必须是一个非负整数。 |
- | 匹配变长路径 | `MATCH p=(v:player{name:"Tim Duncan"})-[e:follow*1..3]->(v2) RETURN v2 AS Friends` | `minHop`:可选项。表示路径的最小长度。`minHop`必须是一个非负整数,默认值为1。
`maxHop`:必选项。表示路径的最大长度。`maxHop`必须是一个非负整数,没有默认值。 |
- | 匹配多个Edge type的变长路径 | `MATCH p=(v:player{name:"Tim Duncan"})-[e:follow | serve*2]->(v2) RETURN DISTINCT v2` | 用户可以在变长或定长模式中指定多个Edge type。`hop`、`minHop`和`maxHop`对所有Edge type都生效。 |
+ | 匹配变长路径 | `MATCH p=(v:player{name:"Tim Duncan"})-[e:follow*1..3]->(v2) RETURN v2 AS Friends` | `minHop`:可选项。表示路径的最小长度。`minHop`必须是一个非负整数,默认值为 1。
`maxHop`:必选项。表示路径的最大长度。`maxHop`必须是一个非负整数,没有默认值。 |
+ | 匹配多个 Edge type 的变长路径 | `MATCH p=(v:player{name:"Tim Duncan"})-[e:follow | serve*2]->(v2) RETURN DISTINCT v2` | 用户可以在变长或定长模式中指定多个 Edge type。`hop`、`minHop`和`maxHop`对所有 Edge type 都生效。 |
| 检索点或边的信息 | `MATCH (v:player{name:"Tim Duncan"}) RETURN v`
`MATCH (v:player{name:"Tim Duncan"})-[e]->(v2) RETURN e` | 使用`RETURN { | }`检索点或边的所有信息。 |
- | 检索点ID | `MATCH (v:player{name:"Tim Duncan"}) RETURN id(v)` | 使用`id()`函数检索点ID。 |
- | 检索Tag | `MATCH (v:player{name:"Tim Duncan"}) RETURN labels(v)` | 使用`labels()`函数检索点上的Tag列表。
检索列表`labels(v)`中的第N个元素,可以使用`labels(v)[n-1]`。 |
+ | 检索点 ID | `MATCH (v:player{name:"Tim Duncan"}) RETURN id(v)` | 使用`id()`函数检索点 ID。 |
+ | 检索 Tag | `MATCH (v:player{name:"Tim Duncan"}) RETURN labels(v)` | 使用`labels()`函数检索点上的 Tag 列表。
检索列表`labels(v)`中的第 N 个元素,可以使用`labels(v)[n-1]`。 |
| 检索点或边的单个属性 | `MATCH (v:player{name:"Tim Duncan"}) RETURN v.age` | 使用`RETURN { | }.`检索单个属性。
使用`AS`设置属性的别名。 |
| 检索点或边的所有属性 | `MATCH p=(v:player{name:"Tim Duncan"})-[]->(v2) RETURN properties(v2)` | 使用`properties()`函数检索点或边的所有属性。 |
- | 检索Edge type | `MATCH p=(v:player{name:"Tim Duncan"})-[e]->() RETURN DISTINCT type(e)` | 使用`type()`函数检索匹配的Edge type。 |
+ | 检索 Edge type | `MATCH p=(v:player{name:"Tim Duncan"})-[e]->() RETURN DISTINCT type(e)` | 使用`type()`函数检索匹配的 Edge type。 |
| 检索路径 | `MATCH p=(v:player{name:"Tim Duncan"})-[*3]->() RETURN p` | 使用`RETURN `检索匹配路径的所有信息。 |
| 检索路径中的点 | `MATCH p=(v:player{name:"Tim Duncan"})-[]->(v2) RETURN nodes(p)` | 使用`nodes()`函数检索路径中的所有点。 |
| 检索路径中的边 | `MATCH p=(v:player{name:"Tim Duncan"})-[]->(v2) RETURN relationships(p)` | 使用`relationships()`函数检索路径中的所有边。 |
| 检索路径长度 | `MATCH p=(v:player{name:"Tim Duncan">})-[*..2]->(v2) RETURN p AS Paths, length(p) AS Length` | 使用`length()`函数检索路径的长度。 |
-
-
* [LOOKUP](../3.ngql-guide/7.general-query-statements/5.lookup.md)
```
@@ -255,12 +239,12 @@
| 模式 | 示例 | 说明 |
| ------------------- | ------------------------------------------------------------ | ---------------------------------------------- |
- | 检索点 | `LOOKUP ON player WHERE player.name == "Tony Parker" YIELD player.name AS name, player.age AS age` | 返回Tag为`player`且`name`为`Tony Parker`的点。 |
- | 检索边 | `LOOKUP ON follow WHERE follow.degree == 90 YIELD follow.degree` | 返回Edge type为`follow`且`degree`为`90`的边。 |
- | 通过Tag列出所有点 | `LOOKUP ON player` | 查找所有Tag为`player`的点 VID。 |
- | 通过Edge type列出边 | `LOOKUP ON like` | 查找Edge type为`like`的所有边的信息。 |
- | 统计点 | `LOOKUP ON player | YIELD COUNT(*) AS Player_Number` | 统计Tag为`player`的点。 |
- | 统计边 | `LOOKUP ON like | YIELD COUNT(*) AS Like_Number` | 统计Edge type为`like`的边。 |
+ | 检索点 | `LOOKUP ON player WHERE player.name == "Tony Parker" YIELD player.name AS name, player.age AS age` | 返回 Tag 为`player`且`name`为`Tony Parker`的点。 |
+ | 检索边 | `LOOKUP ON follow WHERE follow.degree == 90 YIELD follow.degree` | 返回 Edge type 为`follow`且`degree`为`90`的边。 |
+ | 通过 Tag 列出所有点 | `LOOKUP ON player` | 查找所有 Tag 为`player`的点 VID。 |
+ | 通过 Edge type 列出边 | `LOOKUP ON like` | 查找 Edge type 为`like`的所有边的信息。 |
+ | 统计点 | `LOOKUP ON player | YIELD COUNT(*) AS Player_Number` | 统计 Tag 为`player`的点。 |
+ | 统计边 | `LOOKUP ON like | YIELD COUNT(*) AS Like_Number` | 统计 Edge type 为`like`的边。 |
@@ -278,17 +262,15 @@
| 示例 | 说明 |
| ------------------------------------------------------------ | ------------------------------------------------------- |
- | `GO FROM "player102" OVER serve` | 返回player102所属队伍。 |
- | `GO 2 STEPS FROM "player102" OVER follow` | 返回距离player102两跳的朋友。 |
+ | `GO FROM "player102" OVER serve` | 返回 player102 所属队伍。 |
+ | `GO 2 STEPS FROM "player102" OVER follow` | 返回距离 player102 两跳的朋友。 |
| `GO FROM "player100", "player102" OVER serve WHERE properties(edge).start_year > 1995 YIELD DISTINCT properties($$).name AS team_name, properties(edge).start_year AS start_year, properties($^).name AS player_name` | 添加过滤条件。 |
- | `GO FROM "player100" OVER follow, serve YIELD properties(edge).degree, properties(edge).start_year` | 遍历多个Edge type。属性没有值时,会显示`UNKNOWN_PROP`。 |
- | `GO FROM "player100" OVER follow REVERSELY YIELD src(edge) AS destination` | 返回player100入方向的邻居点。 |
- | `GO FROM "player100" OVER follow REVERSELY YIELD src(edge) AS id | GO FROM $-.id OVER serve WHERE properties($^).age > 20 YIELD properties($^).name AS FriendOf, properties($$).name AS Team` | 查询player100的朋友和朋友所属队伍。 |
- | `GO FROM "player102" OVER follow YIELD dst(edge) AS both` | 返回player102所有邻居点。 |
+ | `GO FROM "player100" OVER follow, serve YIELD properties(edge).degree, properties(edge).start_year` | 遍历多个 Edge type。属性没有值时,会显示`UNKNOWN_PROP`。 |
+ | `GO FROM "player100" OVER follow REVERSELY YIELD src(edge) AS destination` | 返回 player100 入方向的邻居点。 |
+ | `GO FROM "player100" OVER follow REVERSELY YIELD src(edge) AS id | GO FROM $-.id OVER serve WHERE properties($^).age > 20 YIELD properties($^).name AS FriendOf, properties($$).name AS Team` | 查询 player100 的朋友和朋友所属队伍。 |
+ | `GO FROM "player102" OVER follow YIELD dst(edge) AS both` | 返回 player102 所有邻居点。 |
| `GO 2 STEPS FROM "player100" OVER follow YIELD src(edge) AS src, dst(edge) AS dst, properties($$).age AS age | GROUP BY $-.dst YIELD $-.dst AS dst, collect_set($-.src) AS src, collect($-.age) AS age` | 根据年龄分组。 |
-
-
* [FETCH](../3.ngql-guide/7.general-query-statements/4.fetch.md)
```
@@ -299,17 +281,17 @@
| 示例 | 说明 |
| ------------------------------------------------------------ | ------------------------------------------------------------ |
- | `FETCH PROP ON player "player100"` | 在`FETCH`语句中指定Tag获取对应点的属性值。 |
+ | `FETCH PROP ON player "player100"` | 在`FETCH`语句中指定 Tag 获取对应点的属性值。 |
| `FETCH PROP ON player "player100" YIELD player.name AS name` | 使用`YIELD`子句指定返回的属性。 |
- | `FETCH PROP ON player "player101", "player102", "player103"` | 指定多个点ID获取多个点的属性值,点之间用英文逗号(,)分隔。 |
- | `FETCH PROP ON player, t1 "player100", "player103"` | 在`FETCH`语句中指定多个Tag获取属性值。Tag之间用英文逗号(,)分隔。 |
+ | `FETCH PROP ON player "player101", "player102", "player103"` | 指定多个点 ID 获取多个点的属性值,点之间用英文逗号(,)分隔。 |
+ | `FETCH PROP ON player, t1 "player100", "player103"` | 在`FETCH`语句中指定多个 Tag 获取属性值。Tag 之间用英文逗号(,)分隔。 |
| `FETCH PROP ON * "player100", "player106", "team200"` | 在`FETCH`语句中使用`*`获取当前图空间所有标签里,点的属性值。 |
| `FETCH PROP ON serve "player102" -> "player106" YIELD dst(edge)` | 语法:`FETCH PROP ON -> [@] [, -> ...] [YIELD