diff --git a/docs-2.0/3.ngql-guide/10.tag-statements/1.create-tag.md b/docs-2.0/3.ngql-guide/10.tag-statements/1.create-tag.md index b81fcb93bcf..269f51b91de 100644 --- a/docs-2.0/3.ngql-guide/10.tag-statements/1.create-tag.md +++ b/docs-2.0/3.ngql-guide/10.tag-statements/1.create-tag.md @@ -1,21 +1,21 @@ # CREATE TAG -`CREATE TAG`语句可以通过指定名称创建一个Tag。 +`CREATE TAG`语句可以通过指定名称创建一个 Tag。 -## OpenCypher兼容性 +## OpenCypher 兼容性 -nGQL中的Tag和openCypher中的Label相似,但又有所不同,例如它们的创建方式。 +nGQL 中的 Tag 和 openCypher 中的 Label 相似,但又有所不同,例如它们的创建方式。 -* openCypher中的Label需要在`CREATE`语句中与点一起创建。 -* nGQL中的Tag需要使用`CREATE TAG`语句独立创建。Tag更像是MySQL中的表。 +* openCypher 中的 Label 需要在`CREATE`语句中与点一起创建。 +* nGQL 中的 Tag 需要使用`CREATE TAG`语句独立创建。Tag 更像是 MySQL 中的表。 ## 前提条件 -执行`CREATE TAG`语句需要当前登录的用户拥有指定图空间的[创建Tag权限](../../7.data-security/1.authentication/3.role-list.md),否则会报错。 +执行`CREATE TAG`语句需要当前登录的用户拥有指定图空间的 [创建 Tag 权限](../../7.data-security/1.authentication/3.role-list.md),否则会报错。 ## 语法 -创建Tag前,需要先用`USE`语句指定工作空间。 +创建 Tag 前,需要先用`USE`语句指定工作空间。 ```ngql CREATE TAG [IF NOT EXISTS] @@ -30,41 +30,41 @@ CREATE TAG [IF NOT EXISTS] |参数|说明| |:---|:---| -|`IF NOT EXISTS`|检测待创建的Tag是否存在,只有不存在时,才会创建Tag。仅检测Tag的名称,不会检测具体属性。| -|``|每个图空间内的Tag必须是唯一的。Tag名称设置后无法修改。Tag名称由大小写英文字母、数字或下划线组成,区分大写小,且不可使用[关键字和保留字](../../3.ngql-guide/1.nGQL-overview/keywords-and-reserved-words.md)。| -|``|属性名称。每个Tag中的属性名称必须唯一。属性的命名规则与Tag相同。| -|``|属性的数据类型,目前支持[数值](../3.data-types/1.numeric.md)、[布尔](../3.data-types/2.boolean.md)、[字符串](../3.data-types/3.string.md)以及[日期与时间](../3.data-types/4.date-and-time.md)。| +|`IF NOT EXISTS`|检测待创建的 Tag 是否存在,只有不存在时,才会创建 Tag。仅检测 Tag 的名称,不会检测具体属性。| +|``|每个图空间内的 Tag 必须是唯一的。Tag 名称设置后无法修改。Tag 名称由大小写英文字母、数字或下划线组成,区分大写小,且不可使用 [关键字和保留字](../../3.ngql-guide/1.nGQL-overview/keywords-and-reserved-words.md)。| +|``|属性名称。每个 Tag 中的属性名称必须唯一。属性的命名规则与 Tag 相同。| +|``|属性的数据类型,目前支持 [数值](../3.data-types/1.numeric.md)、[布尔](../3.data-types/2.boolean.md)、[字符串](../3.data-types/3.string.md) 以及 [日期与时间](../3.data-types/4.date-and-time.md)。| |`NULL \| NOT NULL`|指定属性值是否支持为`NULL`。默认值为`NULL`。| -|`DEFAULT`|指定属性的默认值。默认值可以是一个文字值或Nebula Graph支持的表达式。如果插入点时没有指定某个属性的值,则使用默认值。| -|`COMMENT`|对单个属性或Tag的描述。最大为256字节。默认无描述。| +|`DEFAULT`|指定属性的默认值。默认值可以是一个文字值或 Nebula Graph 支持的表达式。如果插入点时没有指定某个属性的值,则使用默认值。| +|`COMMENT`|对单个属性或 Tag 的描述。最大为 256 字节。默认无描述。| |`TTL_DURATION`|指定属性存活时间。超时的属性将会过期。属性值和时间戳差值之和如果小于当前时间戳,属性就会过期。默认值为`0`,表示属性永不过期。| -|`TTL_COL`|指定要设置存活时间的属性。属性的数据类型必须是`int`或者`timestamp`。一个Tag只能指定一个字段为`TTL_COL`。更多TTL的信息请参见[TTL](../8.clauses-and-options/ttl-options.md)。| +|`TTL_COL`|指定要设置存活时间的属性。属性的数据类型必须是`int`或者`timestamp`。一个 Tag 只能指定一个字段为`TTL_COL`。更多 TTL 的信息请参见 [TTL](../8.clauses-and-options/ttl-options.md)。| ## 示例 ```ngql nebula> CREATE TAG IF NOT EXISTS player(name string, age int); -# 创建没有属性的Tag。 +# 创建没有属性的 Tag。 nebula> CREATE TAG IF NOT EXISTS no_property();  -# 创建包含默认值的Tag。 +# 创建包含默认值的 Tag。 nebula> CREATE TAG IF NOT EXISTS player_with_default(name string, age int DEFAULT 20); -# 对字段create_time设置TTL为100秒。 +# 对字段 create_time 设置 TTL 为 100 秒。 nebula> CREATE TAG IF NOT EXISTS woman(name string, age int, \ married bool, salary double, create_time timestamp) \ TTL_DURATION = 100, TTL_COL = "create_time"; ``` -## 创建Tag说明 +## 创建 Tag 说明 -尝试使用新创建的Tag可能会失败,因为创建是异步实现的。 +尝试使用新创建的 Tag 可能会失败,因为创建是异步实现的。 -Nebula Graph将在下一个心跳周期内完成Tag的创建,为了确保创建成功,可以使用如下方法之一: +Nebula Graph 将在下一个心跳周期内完成 Tag 的创建,为了确保创建成功,可以使用如下方法之一: -- 在[`SHOW TAGS`](4.show-tags.md)语句的结果中查找新的Tag,如果找不到,请等待几秒重试。 +- 在 [`SHOW TAGS`](4.show-tags.md) 语句的结果中查找新的 Tag,如果找不到,请等待几秒重试。 -- 等待两个心跳周期,例如20秒。 +- 等待两个心跳周期,例如 20 秒。 -如果需要修改心跳间隔,请为[所有配置文件](../../5.configurations-and-logs/1.configurations/1.configurations.md)修改参数`heartbeat_interval_secs`。 +如果需要修改心跳间隔,请为 [所有配置文件](../../5.configurations-and-logs/1.configurations/1.configurations.md) 修改参数`heartbeat_interval_secs`。 diff --git a/docs-2.0/3.ngql-guide/10.tag-statements/2.drop-tag.md b/docs-2.0/3.ngql-guide/10.tag-statements/2.drop-tag.md index 24fb51bde47..85e789f827f 100644 --- a/docs-2.0/3.ngql-guide/10.tag-statements/2.drop-tag.md +++ b/docs-2.0/3.ngql-guide/10.tag-statements/2.drop-tag.md @@ -1,20 +1,20 @@ # DROP TAG -`DROP TAG`语句可以删除当前工作空间内所有点上的指定Tag。 +`DROP TAG`语句可以删除当前工作空间内所有点上的指定 Tag。 -点可以有一个或多个Tag。 +点可以有一个或多个 Tag。 -- 如果某个点只有一个Tag,删除这个Tag后,用户就**无法访问**这个点,下次Compaction操作时会删除该点,但点上的边仍然存在。 +- 如果某个点只有一个 Tag,删除这个 Tag 后,用户就**无法访问**这个点,下次 Compaction 操作时会删除该点,但点上的边仍然存在。 -- 如果某个点有多个Tag,删除其中一个Tag,仍然可以访问这个点,但是**无法访问**已删除Tag所定义的所有属性。 +- 如果某个点有多个 Tag,删除其中一个 Tag,仍然可以访问这个点,但是**无法访问**已删除 Tag 所定义的所有属性。 -删除Tag操作仅删除Schema数据,硬盘上的文件或目录不会立刻删除,而是在下一次Compaction操作时删除。 +删除 Tag 操作仅删除 Schema 数据,硬盘上的文件或目录不会立刻删除,而是在下一次 Compaction 操作时删除。 ## 前提条件 -- 登录的用户必须拥有对应权限才能执行`DROP TAG`语句。详情请参见[内置角色权限](../../7.data-security/1.authentication/3.role-list.md)。 +- 登录的用户必须拥有对应权限才能执行`DROP TAG`语句。详情请参见 [内置角色权限](../../7.data-security/1.authentication/3.role-list.md)。 -- 确保Tag不包含任何索引,否则`DROP TAG`时会报冲突错误`[ERROR (-8)]: Conflict!`。删除索引请参见[drop index](../14.native-index-statements/6.drop-native-index.md)。 +- 确保 Tag 不包含任何索引,否则`DROP TAG`时会报冲突错误`[ERROR (-8)]: Conflict!`。删除索引请参见 [drop index](../14.native-index-statements/6.drop-native-index.md)。 ## 语法 @@ -22,9 +22,9 @@ DROP TAG [IF EXISTS] ; ``` -- `IF EXISTS`:检测待删除的Tag是否存在,只有存在时,才会删除Tag。 +- `IF EXISTS`:检测待删除的 Tag 是否存在,只有存在时,才会删除 Tag。 -- `tag_name`:指定要删除的Tag名称。一次只能删除一个Tag。 +- `tag_name`:指定要删除的 Tag 名称。一次只能删除一个 Tag。 ## 示例 diff --git a/docs-2.0/3.ngql-guide/10.tag-statements/3.alter-tag.md b/docs-2.0/3.ngql-guide/10.tag-statements/3.alter-tag.md index 634cca1bc43..ea4b8b41712 100644 --- a/docs-2.0/3.ngql-guide/10.tag-statements/3.alter-tag.md +++ b/docs-2.0/3.ngql-guide/10.tag-statements/3.alter-tag.md @@ -1,12 +1,12 @@ # ALTER TAG -`ALTER TAG`语句可以修改Tag的结构。例如增删属性、修改数据类型,也可以为属性设置、修改[TTL](../8.clauses-and-options/ttl-options.md)(Time-To-Live)。 +`ALTER TAG`语句可以修改 Tag 的结构。例如增删属性、修改数据类型,也可以为属性设置、修改 [TTL](../8.clauses-and-options/ttl-options.md)(Time-To-Live)。 ## 前提条件 -- 登录的用户必须拥有对应权限才能执行`ALTER TAG`语句。详情请参见[内置角色权限](../../7.data-security/1.authentication/3.role-list.md)。 +- 登录的用户必须拥有对应权限才能执行`ALTER TAG`语句。详情请参见 [内置角色权限](../../7.data-security/1.authentication/3.role-list.md)。 -- 确保要修改的属性不包含索引,否则`ALTER TAG`时会报冲突错误`[ERROR (-8)]: Conflict!`。删除索引请参见[drop index](../14.native-index-statements/6.drop-native-index.md)。 +- 确保要修改的属性不包含索引,否则`ALTER TAG`时会报冲突错误`[ERROR (-8)]: Conflict!`。删除索引请参见 [drop index](../14.native-index-statements/6.drop-native-index.md)。 ## 语法 @@ -25,7 +25,7 @@ ttl_definition: TTL_DURATION = ttl_duration, TTL_COL = prop_name ``` -- `tag_name`:指定要修改的Tag名称。一次只能修改一个Tag。请确保要修改的Tag在当前工作空间中存在,否则会报错。 +- `tag_name`:指定要修改的 Tag 名称。一次只能修改一个 Tag。请确保要修改的 Tag 在当前工作空间中存在,否则会报错。 - 可以在一个`ALTER TAG`语句中使用多个`ADD`、`DROP`和`CHANGE`子句,子句之间用英文逗号(,)分隔。 @@ -38,14 +38,14 @@ nebula> ALTER TAG t1 TTL_DURATION = 2, TTL_COL = "p2"; nebula> ALTER TAG t1 COMMENT = 'test1'; ``` -## 修改Tag说明 +## 修改 Tag 说明 -尝试使用刚修改的Tag可能会失败,因为修改是异步实现的。 +尝试使用刚修改的 Tag 可能会失败,因为修改是异步实现的。 -Nebula Graph将在下一个心跳周期内完成Tag的修改,为了确保修改成功,可以使用如下方法之一: +Nebula Graph 将在下一个心跳周期内完成 Tag 的修改,为了确保修改成功,可以使用如下方法之一: -- 在[`DESCRIBE TAG`](5.describe-tag.md)语句的结果中查看Tag信息,确认修改成功。如果没有修改成功,请等待几秒重试。 +- 在 [`DESCRIBE TAG`](5.describe-tag.md) 语句的结果中查看 Tag 信息,确认修改成功。如果没有修改成功,请等待几秒重试。 -- 等待两个心跳周期,例如20秒。 +- 等待两个心跳周期,例如 20 秒。 -如果需要修改心跳间隔,请为[所有配置文件](../../5.configurations-and-logs/1.configurations/1.configurations.md)修改参数`heartbeat_interval_secs`。 +如果需要修改心跳间隔,请为 [所有配置文件](../../5.configurations-and-logs/1.configurations/1.configurations.md) 修改参数`heartbeat_interval_secs`。 diff --git a/docs-2.0/3.ngql-guide/10.tag-statements/4.show-tags.md b/docs-2.0/3.ngql-guide/10.tag-statements/4.show-tags.md index 64eb0921d0f..5ab22d637e3 100644 --- a/docs-2.0/3.ngql-guide/10.tag-statements/4.show-tags.md +++ b/docs-2.0/3.ngql-guide/10.tag-statements/4.show-tags.md @@ -1,8 +1,8 @@ # SHOW TAGS -`SHOW TAGS`语句显示当前图空间内的所有Tag名称。 +`SHOW TAGS`语句显示当前图空间内的所有 Tag 名称。 -执行`SHOW TAGS`语句不需要任何权限,但是返回结果由登录的用户[权限](../../7.data-security/1.authentication/3.role-list.md)决定。 +执行`SHOW TAGS`语句不需要任何权限,但是返回结果由登录的用户 [权限](../../7.data-security/1.authentication/3.role-list.md) 决定。 ## 语法 diff --git a/docs-2.0/3.ngql-guide/10.tag-statements/5.describe-tag.md b/docs-2.0/3.ngql-guide/10.tag-statements/5.describe-tag.md index c514b76c6d1..9bc7cb96f48 100644 --- a/docs-2.0/3.ngql-guide/10.tag-statements/5.describe-tag.md +++ b/docs-2.0/3.ngql-guide/10.tag-statements/5.describe-tag.md @@ -1,10 +1,10 @@ # DESCRIBE TAG -`DESCRIBE TAG`显示指定Tag的详细信息,例如字段名称、数据类型等。 +`DESCRIBE TAG`显示指定 Tag 的详细信息,例如字段名称、数据类型等。 ## 前提条件 -登录的用户必须拥有对应权限才能执行`DESCRIBE TAG`语句。详情请参见[内置角色权限](../../7.data-security/1.authentication/3.role-list.md)。 +登录的用户必须拥有对应权限才能执行`DESCRIBE TAG`语句。详情请参见 [内置角色权限](../../7.data-security/1.authentication/3.role-list.md)。 ## 语法 diff --git a/docs-2.0/3.ngql-guide/10.tag-statements/6.delete-tag.md b/docs-2.0/3.ngql-guide/10.tag-statements/6.delete-tag.md index 16d8b52398e..b67e7d3414b 100644 --- a/docs-2.0/3.ngql-guide/10.tag-statements/6.delete-tag.md +++ b/docs-2.0/3.ngql-guide/10.tag-statements/6.delete-tag.md @@ -1,16 +1,16 @@ # DELETE TAG -`DELETE TAG`语句可以删除指定点上的指定Tag。 +`DELETE TAG`语句可以删除指定点上的指定 Tag。 -点可以有一个或多个Tag。 +点可以有一个或多个 Tag。 -- 如果某个点只有一个Tag,删除这个点上的Tag后,用户就**无法访问**这个点,下次Compaction操作时会删除该点,但点上的边仍然存在。 +- 如果某个点只有一个 Tag,删除这个点上的 Tag 后,用户就**无法访问**这个点,下次 Compaction 操作时会删除该点,但点上的边仍然存在。 -- 如果某个点有多个Tag,删除其中一个Tag,仍然可以访问这个点,但是**无法访问**这个点上已删除Tag所定义的所有属性。 +- 如果某个点有多个 Tag,删除其中一个 Tag,仍然可以访问这个点,但是**无法访问**这个点上已删除 Tag 所定义的所有属性。 ## 前提条件 -登录的用户必须拥有对应权限才能执行`DELETE TAG`语句。详情请参见[内置角色权限](../../7.data-security/1.authentication/3.role-list.md)。 +登录的用户必须拥有对应权限才能执行`DELETE TAG`语句。详情请参见 [内置角色权限](../../7.data-security/1.authentication/3.role-list.md)。 ## 语法 @@ -18,9 +18,9 @@ DELETE TAG FROM ; ``` -- `tag_name_list`:指定Tag名称。多个Tag用英文逗号(,)分隔,也可以用`*`表示所有Tag。 +- `tag_name_list`:指定 Tag 名称。多个 Tag 用英文逗号(,)分隔,也可以用`*`表示所有 Tag。 -- `VID`:指定要删除Tag的点ID。 +- `VID`:指定要删除 Tag 的点 ID。 ## 示例 @@ -48,10 +48,8 @@ nebula> FETCH PROP ON * "test"; +-----------+ | vertices_ | +-----------+ -+-----------+ ``` - !!! Compatibility * 在 openCypher 中,可以使用 `REMOVE v:LABEL` 语句来移除该点 `v` 的 `LABEL`。 diff --git a/docs-2.0/3.ngql-guide/10.tag-statements/improve-query-by-tag-index.md b/docs-2.0/3.ngql-guide/10.tag-statements/improve-query-by-tag-index.md index 7f6364c903c..9ad2c1c1fdd 100644 --- a/docs-2.0/3.ngql-guide/10.tag-statements/improve-query-by-tag-index.md +++ b/docs-2.0/3.ngql-guide/10.tag-statements/improve-query-by-tag-index.md @@ -1,23 +1,23 @@ # 增加和删除标签 -在openCypher中,有增加标签(`SET label`)和移除标签(`REMOVE label`)的功能,可以用于加速查询或者标记过程。 +在 openCypher 中,有增加标签(`SET label`)和移除标签(`REMOVE label`)的功能,可以用于加速查询或者标记过程。 -在Nebula Graph中,可以通过Tag变相实现相同操作,创建Tag并将Tag插入到已有的点上,就可以根据Tag名称快速查找点,也可以通过`DELETE TAG`删除某些点上不再需要的Tag。 +在 Nebula Graph 中,可以通过 Tag 变相实现相同操作,创建 Tag 并将 Tag 插入到已有的点上,就可以根据 Tag 名称快速查找点,也可以通过`DELETE TAG`删除某些点上不再需要的 Tag。 !!! caution - 请确保点上已经有另一个Tag,否则删除点上最后一个Tag时,会导致点也被删除。 + 请确保点上已经有另一个 Tag,否则删除点上最后一个 Tag 时,会导致点也被删除。 ## 示例 -例如在basketballplayer数据集中,部分篮球运动员同时也是球队股东,可以为股东Tag`shareholder`创建索引,方便快速查找。如果不再是股东,可以通过`DELETE TAG`语句删除相应运动员的股东Tag。 +例如在 basketballplayer 数据集中,部分篮球运动员同时也是球队股东,可以为股东 Tag`shareholder`创建索引,方便快速查找。如果不再是股东,可以通过`DELETE TAG`语句删除相应运动员的股东 Tag。 ```ngql -//创建股东Tag和索引 +//创建股东 Tag 和索引 nebula> CREATE TAG IF NOT EXISTS shareholder(); nebula> CREATE TAG INDEX IF NOT EXISTS shareholder_tag on shareholder(); -//为点添加Tag +//为点添加 Tag nebula> INSERT VERTEX shareholder() VALUES "player100":(); nebula> INSERT VERTEX shareholder() VALUES "player101":(); @@ -37,7 +37,7 @@ nebula> LOOKUP ON shareholder; | "player101" | +-------------+ -//如果player100不再是股东 +//如果 player100 不再是股东 nebula> DELETE TAG shareholder FROM "player100"; nebula> LOOKUP ON shareholder; +-------------+ diff --git a/docs-2.0/3.ngql-guide/11.edge-type-statements/1.create-edge.md b/docs-2.0/3.ngql-guide/11.edge-type-statements/1.create-edge.md index 511b4562410..006de93716f 100644 --- a/docs-2.0/3.ngql-guide/11.edge-type-statements/1.create-edge.md +++ b/docs-2.0/3.ngql-guide/11.edge-type-statements/1.create-edge.md @@ -1,21 +1,21 @@ # CREATE EDGE -`CREATE EDGE`语句可以通过指定名称创建一个Edge type。 +`CREATE EDGE`语句可以通过指定名称创建一个 Edge type。 -## OpenCypher兼容性 +## OpenCypher 兼容性 -nGQL中的Edge type和openCypher中的关系类型相似,但又有所不同,例如它们的创建方式。 +nGQL 中的 Edge type 和 openCypher 中的关系类型相似,但又有所不同,例如它们的创建方式。 -* openCypher中的关系类型需要在`CREATE`语句中与点一起创建。 -* nGQL中的Edge type需要使用`CREATE EDGE`语句独立创建。Edge type更像是MySQL中的表。 +* openCypher 中的关系类型需要在`CREATE`语句中与点一起创建。 +* nGQL 中的 Edge type 需要使用`CREATE EDGE`语句独立创建。Edge type 更像是 MySQL 中的表。 ## 前提条件 -执行`CREATE EDGE`语句需要当前登录的用户拥有指定图空间的[创建Edge type权限](../../7.data-security/1.authentication/3.role-list.md),否则会报错。 +执行`CREATE EDGE`语句需要当前登录的用户拥有指定图空间的 [创建 Edge type 权限](../../7.data-security/1.authentication/3.role-list.md),否则会报错。 ## 语法 -创建Edge type前,需要先用`USE`语句指定工作空间。 +创建 Edge type 前,需要先用`USE`语句指定工作空间。 ```ngql CREATE EDGE [IF NOT EXISTS] @@ -30,28 +30,28 @@ CREATE EDGE [IF NOT EXISTS] |参数|说明| |:---|:---| -|`IF NOT EXISTS`|检测待创建的Edge type是否存在,只有不存在时,才会创建Edge type。仅检测Edge type的名称,不会检测具体属性。| -|``|每个图空间内的Edge type必须是唯一的。Edge type名称设置后无法修改。Edge type名称由大小写英文字母、数字或下划线组成,区分大写小,且不可使用[关键字和保留字](../../3.ngql-guide/1.nGQL-overview/keywords-and-reserved-words.md)。| -|``|属性名称。每个Edge type中的属性名称必须唯一。属性的命名规则与Edge type相同。| -|``|属性的数据类型,目前支持[数值](../3.data-types/1.numeric.md)、[布尔](../3.data-types/2.boolean.md)、[字符串](../3.data-types/3.string.md)以及[日期与时间](../3.data-types/4.date-and-time.md)。| +|`IF NOT EXISTS`|检测待创建的 Edge type 是否存在,只有不存在时,才会创建 Edge type。仅检测 Edge type 的名称,不会检测具体属性。| +|``|每个图空间内的 Edge type 必须是唯一的。Edge type 名称设置后无法修改。Edge type 名称由大小写英文字母、数字或下划线组成,区分大写小,且不可使用 [关键字和保留字](../../3.ngql-guide/1.nGQL-overview/keywords-and-reserved-words.md)。| +|``|属性名称。每个 Edge type 中的属性名称必须唯一。属性的命名规则与 Edge type 相同。| +|``|属性的数据类型,目前支持 [数值](../3.data-types/1.numeric.md)、[布尔](../3.data-types/2.boolean.md)、[字符串](../3.data-types/3.string.md) 以及 [日期与时间](../3.data-types/4.date-and-time.md)。| |`NULL \| NOT NULL`|指定属性值是否支持为`NULL`。默认值为`NULL`。| -|`DEFAULT`|指定属性的默认值。默认值可以是一个文字值或Nebula Graph支持的表达式。如果插入边时没有指定某个属性的值,则使用默认值。| -|`COMMENT`|对单个属性或Edge type的描述。最大为256字节。默认无描述。| +|`DEFAULT`|指定属性的默认值。默认值可以是一个文字值或 Nebula Graph 支持的表达式。如果插入边时没有指定某个属性的值,则使用默认值。| +|`COMMENT`|对单个属性或 Edge type 的描述。最大为 256 字节。默认无描述。| |`TTL_DURATION`|指定属性存活时间。超时的属性将会过期。属性值和时间戳差值之和如果小于当前时间戳,属性就会过期。默认值为`0`,表示属性永不过期。| -|`TTL_COL`|指定要设置存活时间的属性。属性的数据类型必须是`int`或者`timestamp`。一个Edge type只能指定一个字段为`TTL_COL`。更多TTL的信息请参见[TTL](../8.clauses-and-options/ttl-options.md)。| +|`TTL_COL`|指定要设置存活时间的属性。属性的数据类型必须是`int`或者`timestamp`。一个 Edge type 只能指定一个字段为`TTL_COL`。更多 TTL 的信息请参见 [TTL](../8.clauses-and-options/ttl-options.md)。| ### 示例 ```ngql nebula> CREATE EDGE IF NOT EXISTS follow(degree int); -# 创建没有属性的Edge type。 +# 创建没有属性的 Edge type。 nebula> CREATE EDGE IF NOT EXISTS no_property(); -# 创建包含默认值的Edge type。 +# 创建包含默认值的 Edge type。 nebula> CREATE EDGE IF NOT EXISTS follow_with_default(degree int DEFAULT 20); -# 对字段p2设置TTL为100秒。 +# 对字段 p2 设置 TTL 为 100 秒。 nebula> CREATE EDGE IF NOT EXISTS e1(p1 string, p2 int, p3 timestamp) \ TTL_DURATION = 100, TTL_COL = "p2"; ``` diff --git a/docs-2.0/3.ngql-guide/11.edge-type-statements/2.drop-edge.md b/docs-2.0/3.ngql-guide/11.edge-type-statements/2.drop-edge.md index 10c62c3ae98..2e40567190b 100644 --- a/docs-2.0/3.ngql-guide/11.edge-type-statements/2.drop-edge.md +++ b/docs-2.0/3.ngql-guide/11.edge-type-statements/2.drop-edge.md @@ -1,16 +1,16 @@ # DROP EDGE -`DROP EDGE`语句可以删除当前工作空间内的指定Edge type。 +`DROP EDGE`语句可以删除当前工作空间内的指定 Edge type。 -一个边只能有一个Edge type,删除这个Edge type后,用户就**无法访问**这个边,下次Compaction操作时会删除该边。 +一个边只能有一个 Edge type,删除这个 Edge type 后,用户就**无法访问**这个边,下次 Compaction 操作时会删除该边。 -删除Edge type操作仅删除Schema数据,硬盘上的文件或目录不会立刻删除,而是在下一次Compaction操作时删除。 +删除 Edge type 操作仅删除 Schema 数据,硬盘上的文件或目录不会立刻删除,而是在下一次 Compaction 操作时删除。 ## 前提条件 -- 登录的用户必须拥有对应权限才能执行`DROP EDGE`语句。详情请参见[内置角色权限](../../7.data-security/1.authentication/3.role-list.md)。 +- 登录的用户必须拥有对应权限才能执行`DROP EDGE`语句。详情请参见 [内置角色权限](../../7.data-security/1.authentication/3.role-list.md)。 -- 确保Edge type不包含任何索引,否则`DROP EDGE`时会报冲突错误`[ERROR (-8)]: Conflict!`。删除索引请参见[drop index](../14.native-index-statements/6.drop-native-index.md)。 +- 确保 Edge type 不包含任何索引,否则`DROP EDGE`时会报冲突错误`[ERROR (-8)]: Conflict!`。删除索引请参见 [drop index](../14.native-index-statements/6.drop-native-index.md)。 ## 语法 @@ -18,9 +18,9 @@ DROP EDGE [IF EXISTS] ``` -- `IF EXISTS`:检测待删除的Edge type是否存在,只有存在时,才会删除Edge type。 +- `IF EXISTS`:检测待删除的 Edge type 是否存在,只有存在时,才会删除 Edge type。 -- `edge_type_name`:指定要删除的Edge type名称。一次只能删除一个Edge type。 +- `edge_type_name`:指定要删除的 Edge type 名称。一次只能删除一个 Edge type。 ## 示例 diff --git a/docs-2.0/3.ngql-guide/11.edge-type-statements/3.alter-edge.md b/docs-2.0/3.ngql-guide/11.edge-type-statements/3.alter-edge.md index ac2dce0095d..af1161a4ac1 100644 --- a/docs-2.0/3.ngql-guide/11.edge-type-statements/3.alter-edge.md +++ b/docs-2.0/3.ngql-guide/11.edge-type-statements/3.alter-edge.md @@ -1,12 +1,12 @@ # ALTER EDGE -`ALTER EDGE`语句可以修改Edge type的结构。例如增删属性、修改数据类型,也可以为属性设置、修改[TTL](../8.clauses-and-options/ttl-options.md)(Time-To-Live)。 +`ALTER EDGE`语句可以修改 Edge type 的结构。例如增删属性、修改数据类型,也可以为属性设置、修改 [TTL](../8.clauses-and-options/ttl-options.md)(Time-To-Live)。 ## 前提条件 -- 登录的用户必须拥有对应权限才能执行`ALTER EDGE`语句。详情请参见[内置角色权限](../../7.data-security/1.authentication/3.role-list.md)。 +- 登录的用户必须拥有对应权限才能执行`ALTER EDGE`语句。详情请参见 [内置角色权限](../../7.data-security/1.authentication/3.role-list.md)。 -- 确保要修改的属性不包含索引,否则`ALTER EDGE`时会报冲突错误`[ERROR (-8)]: Conflict!`。删除索引请参见[drop index](../14.native-index-statements/6.drop-native-index.md)。 +- 确保要修改的属性不包含索引,否则`ALTER EDGE`时会报冲突错误`[ERROR (-8)]: Conflict!`。删除索引请参见 [drop index](../14.native-index-statements/6.drop-native-index.md)。 ## 语法 @@ -25,7 +25,7 @@ ttl_definition: TTL_DURATION = ttl_duration, TTL_COL = prop_name ``` -- `edge_type_name`:指定要修改的Edge type名称。一次只能修改一个Edge type。请确保要修改的Edge type在当前工作空间中存在,否则会报错。 +- `edge_type_name`:指定要修改的 Edge type 名称。一次只能修改一个 Edge type。请确保要修改的 Edge type 在当前工作空间中存在,否则会报错。 - 可以在一个`ALTER EDGE`语句中使用多个`ADD`、`DROP`和`CHANGE`子句,子句之间用英文逗号(,)分隔。 @@ -38,14 +38,14 @@ nebula> ALTER EDGE e1 TTL_DURATION = 2, TTL_COL = "p2"; nebula> ALTER EDGE e1 COMMENT = 'edge1'; ``` -## 修改Edge type说明 +## 修改 Edge type 说明 -尝试使用刚修改的Edge type可能会失败,因为修改是异步实现的。 +尝试使用刚修改的 Edge type 可能会失败,因为修改是异步实现的。 -Nebula Graph将在下一个心跳周期内完成Edge type的修改,为了确保修改成功,可以使用如下方法之一: +Nebula Graph 将在下一个心跳周期内完成 Edge type 的修改,为了确保修改成功,可以使用如下方法之一: -- 在[`DESCRIBE EDGE`](5.describe-edge.md)语句的结果中查看Edge type信息,确认修改成功。如果没有修改成功,请等待几秒重试。 +- 在 [`DESCRIBE EDGE`](5.describe-edge.md) 语句的结果中查看 Edge type 信息,确认修改成功。如果没有修改成功,请等待几秒重试。 -- 等待两个心跳周期,例如20秒。 +- 等待两个心跳周期,例如 20 秒。 -如果需要修改心跳间隔,请为[所有配置文件](../../5.configurations-and-logs/1.configurations/1.configurations.md)修改参数`heartbeat_interval_secs`。 \ No newline at end of file +如果需要修改心跳间隔,请为 [所有配置文件](../../5.configurations-and-logs/1.configurations/1.configurations.md) 修改参数`heartbeat_interval_secs`。 \ No newline at end of file diff --git a/docs-2.0/3.ngql-guide/11.edge-type-statements/4.show-edges.md b/docs-2.0/3.ngql-guide/11.edge-type-statements/4.show-edges.md index a99e3cb24af..767ea5842e4 100644 --- a/docs-2.0/3.ngql-guide/11.edge-type-statements/4.show-edges.md +++ b/docs-2.0/3.ngql-guide/11.edge-type-statements/4.show-edges.md @@ -1,8 +1,8 @@ # SHOW EDGES -`SHOW EDGES`语句显示当前图空间内的所有Edge type名称。 +`SHOW EDGES`语句显示当前图空间内的所有 Edge type 名称。 -执行`SHOW EDGES`语句不需要任何权限,但是返回结果由登录的用户[权限](../../7.data-security/1.authentication/3.role-list.md)决定。 +执行`SHOW EDGES`语句不需要任何权限,但是返回结果由登录的用户 [权限](../../7.data-security/1.authentication/3.role-list.md) 决定。 ## 语法 diff --git a/docs-2.0/3.ngql-guide/11.edge-type-statements/5.describe-edge.md b/docs-2.0/3.ngql-guide/11.edge-type-statements/5.describe-edge.md index 8f84436695c..c5580dd40a4 100644 --- a/docs-2.0/3.ngql-guide/11.edge-type-statements/5.describe-edge.md +++ b/docs-2.0/3.ngql-guide/11.edge-type-statements/5.describe-edge.md @@ -1,10 +1,10 @@ # DESCRIBE EDGE -`DESCRIBE EDGE`显示指定Edge type的详细信息,例如字段名称、数据类型等。 +`DESCRIBE EDGE`显示指定 Edge type 的详细信息,例如字段名称、数据类型等。 ## 前提条件 -登录的用户必须拥有对应权限才能执行`DESCRIBE EDGE`语句。详情请参见[内置角色权限](../../7.data-security/1.authentication/3.role-list.md)。 +登录的用户必须拥有对应权限才能执行`DESCRIBE EDGE`语句。详情请参见 [内置角色权限](../../7.data-security/1.authentication/3.role-list.md)。 ## 语法 diff --git a/docs-2.0/3.ngql-guide/12.vertex-statements/1.insert-vertex.md b/docs-2.0/3.ngql-guide/12.vertex-statements/1.insert-vertex.md index bb4e7a58024..e92086195c0 100644 --- a/docs-2.0/3.ngql-guide/12.vertex-statements/1.insert-vertex.md +++ b/docs-2.0/3.ngql-guide/12.vertex-statements/1.insert-vertex.md @@ -1,10 +1,10 @@ # INSERT VERTEX -`INSERT VERTEX`语句可以在Nebula Graph实例的指定图空间中插入一个或多个点。 +`INSERT VERTEX`语句可以在 Nebula Graph 实例的指定图空间中插入一个或多个点。 ## 前提条件 -执行`INSERT VERTEX`语句需要当前登录的用户拥有指定图空间的[插入点权限](../../7.data-security/1.authentication/3.role-list.md),否则会报错。 +执行`INSERT VERTEX`语句需要当前登录的用户拥有指定图空间的 [插入点权限](../../7.data-security/1.authentication/3.role-list.md),否则会报错。 ## 语法 @@ -19,28 +19,28 @@ prop_value_list: [prop_value [, prop_value] ...] ``` -- `IF NOT EXISTS`:用户可以使用`IF NOT EXISTS`关键字检测待插入的VID是否存在,只有不存在时,才会插入,如果已经存在,不会进行修改。 +- `IF NOT EXISTS`:用户可以使用`IF NOT EXISTS`关键字检测待插入的 VID 是否存在,只有不存在时,才会插入,如果已经存在,不会进行修改。 !!! Note - `IF NOT EXISTS` 仅检测 VID + Tag 的值是否相同,不会检测属性值。 - `IF NOT EXISTS` 会先读取一次数据是否存在,因此对性能会有明显影响。 -- `tag_name`:点关联的Tag(点类型)。Tag必须提前创建,详情请参见[CREATE TAG](../10.tag-statements/1.create-tag.md)。 +- `tag_name`:点关联的 Tag(点类型)。Tag 必须提前创建,详情请参见 [CREATE TAG](../10.tag-statements/1.create-tag.md)。 - `prop_name_list`:需要设置的属性名称列表。 -- `VID`:点ID。在Nebula Graph 2.0中支持字符串和整数,需要在创建图空间时设置,详情请参见[CREATE SPACE](../9.space-statements/1.create-space.md)。 +- `VID`:点 ID。在 Nebula Graph 2.0 中支持字符串和整数,需要在创建图空间时设置,详情请参见 [CREATE SPACE](../9.space-statements/1.create-space.md)。 -- `prop_value_list`:根据`prop_name_list`填写属性值。如果属性值和Tag中的数据类型不匹配,会返回错误。如果没有填写属性值,而Tag中对应的属性设置为`NOT NULL`,也会返回错误。详情请参见[CREATE TAG](../10.tag-statements/1.create-tag.md)。 +- `prop_value_list`:根据`prop_name_list`填写属性值。如果属性值和 Tag 中的数据类型不匹配,会返回错误。如果没有填写属性值,而 Tag 中对应的属性设置为`NOT NULL`,也会返回错误。详情请参见 [CREATE TAG](../10.tag-statements/1.create-tag.md)。 !!! caution - `INSERT VERTEX`与openCypher中`CREATE`的语意不同: + `INSERT VERTEX`与 openCypher 中`CREATE`的语意不同: - - `INSERT VERTEX`语意更接近于NoSQL(key-value)方式的INSERT语意,或者SQL中的`UPSERT` (`UPDATE` or `INSERT`)。 + - `INSERT VERTEX`语意更接近于 NoSQL(key-value) 方式的 INSERT 语意,或者 SQL 中的`UPSERT` (`UPDATE` or `INSERT`)。 - 相同`VID`和`TAG`的情况下,如果没有使用`IF NOT EXISTS`,新写入的数据会覆盖旧数据,不存在时会新写入。 - - 相同`VID`但不同`TAG`的情况下,不同TAG对应的记录不会相互覆盖,不存在会新写入。 + - 相同`VID`但不同`TAG`的情况下,不同 TAG 对应的记录不会相互覆盖,不存在会新写入。 参考以下示例。 @@ -56,10 +56,10 @@ nebula> INSERT VERTEX t1() VALUE "10":(); nebula> CREATE TAG IF NOT EXISTS t2 (name string, age int); nebula> INSERT VERTEX t2 (name, age) VALUES "11":("n1", 12); -# 创建失败,因为"a13"不是int类型。 +# 创建失败,因为"a13"不是 int 类型。 nebula> INSERT VERTEX t2 (name, age) VALUES "12":("n1", "a13"); -# 一次插入2个点。 +# 一次插入 2 个点。 nebula> INSERT VERTEX t2 (name, age) VALUES "13":("n3", 12), "14":("n4", 8); ``` @@ -67,7 +67,7 @@ nebula> INSERT VERTEX t2 (name, age) VALUES "13":("n3", 12), "14":("n4", 8); nebula> CREATE TAG IF NOT EXISTS t3(p1 int); nebula> CREATE TAG IF NOT EXISTS t4(p2 string); -# 一次插入两个Tag的属性到同一个点。 +# 一次插入两个 Tag 的属性到同一个点。 nebula> INSERT VERTEX t3 (p1), t4(p2) VALUES "21": (321, "hello"); ``` @@ -90,11 +90,11 @@ nebula> FETCH PROP ON t2 "11"; nebula> CREATE TAG IF NOT EXISTS t5(p1 fixed_string(5) NOT NULL, p2 int, p3 int DEFAULT NULL); nebula> INSERT VERTEX t5(p1, p2, p3) VALUES "001":("Abe", 2, 3); -# 插入失败,因为属性p1不能为NULL。 +# 插入失败,因为属性 p1 不能为 NULL。 nebula> INSERT VERTEX t5(p1, p2, p3) VALUES "002":(NULL, 4, 5); [ERROR (-1005)]: Storage Error: The not null field cannot be null. -# 属性p3为默认值NULL。 +# 属性 p3 为默认值 NULL。 nebula> INSERT VERTEX t5(p1, p2) VALUES "003":("cd", 5); nebula> FETCH PROP ON t5 "003"; +--------------------------------------------+ @@ -103,7 +103,7 @@ nebula> FETCH PROP ON t5 "003"; | ("003" :t5{p1: "cd", p2: 5, p3: __NULL__}) | +--------------------------------------------+ -# 属性p1最大长度为5,因此会被截断。 +# 属性 p1 最大长度为 5,因此会被截断。 nebula> INSERT VERTEX t5(p1, p2) VALUES "004":("shalalalala", 4); nebula> FETCH PROP on t5 "004"; +-----------------------------------------------+ @@ -116,9 +116,9 @@ nebula> FETCH PROP on t5 "004"; 使用`IF NOT EXISTS`插入已存在的点时,不会进行修改。 ```ngql -# 插入点1。 +# 插入点 1。 nebula> INSERT VERTEX t2 (name, age) VALUES "1":("n2", 13); -# 使用IF NOT EXISTS修改点1,因为点1已存在,不会进行修改。 +# 使用 IF NOT EXISTS 修改点 1,因为点 1 已存在,不会进行修改。 nebula> INSERT VERTEX IF NOT EXISTS t2 (name, age) VALUES "1":("n3", 14); nebula> FETCH PROP ON t2 "1"; +--------------------------------+ diff --git a/docs-2.0/3.ngql-guide/12.vertex-statements/2.update-vertex.md b/docs-2.0/3.ngql-guide/12.vertex-statements/2.update-vertex.md index 60fb6201087..a5ed3c14471 100644 --- a/docs-2.0/3.ngql-guide/12.vertex-statements/2.update-vertex.md +++ b/docs-2.0/3.ngql-guide/12.vertex-statements/2.update-vertex.md @@ -1,12 +1,12 @@ # UPDATE VERTEX -`UPDATE VERTEX`语句可以修改点上Tag的属性值。 +`UPDATE VERTEX`语句可以修改点上 Tag 的属性值。 -Nebula Graph支持CAS(compare and set)操作。 +Nebula Graph 支持 CAS(compare and set)操作。 !!! note - 一次只能修改一个Tag。 + 一次只能修改一个 Tag。 ## 语法 @@ -19,8 +19,8 @@ SET | 参数 | 是否必须 | 说明 | 示例 | |-|-|-|-| -| `ON ` | 是 | 指定点的Tag。要修改的属性必须在这个Tag内。 | `ON player` | -| `` | 是 | 指定要修改的点ID。 | `"player100"` | +| `ON ` | 是 | 指定点的 Tag。要修改的属性必须在这个 Tag 内。 | `ON player` | +| `` | 是 | 指定要修改的点 ID。 | `"player100"` | | `SET ` | 是 | 指定如何修改属性值。 | `SET age = age +1` | | `WHEN ` | 否 | 指定过滤条件。如果``结果为`false`,`SET`子句不会生效。| `WHEN name == "Tim"` | |`YIELD `| 否 | 指定语句的输出格式。 | `YIELD name AS Name` | @@ -36,7 +36,7 @@ nebula> FETCH PROP ON player "player101"; | ("player101" :player{age: 36, name: "Tony Parker"}) | +-----------------------------------------------------+ -// 修改属性age的值,并返回name和新的age。 +// 修改属性 age 的值,并返回 name 和新的 age。 nebula> UPDATE VERTEX ON player "player101" \ SET age = age + 2 \ WHEN name == "Tony Parker" \ diff --git a/docs-2.0/3.ngql-guide/12.vertex-statements/3.upsert-vertex.md b/docs-2.0/3.ngql-guide/12.vertex-statements/3.upsert-vertex.md index f01172f295d..05951c2e86a 100644 --- a/docs-2.0/3.ngql-guide/12.vertex-statements/3.upsert-vertex.md +++ b/docs-2.0/3.ngql-guide/12.vertex-statements/3.upsert-vertex.md @@ -4,7 +4,7 @@ !!! note - `UPSERT VERTEX`一次只能修改一个Tag。 + `UPSERT VERTEX`一次只能修改一个 Tag。 `UPSERT VERTEX`性能远低于`INSERT`,因为`UPSERT`是一组分片级别的读取、修改、写入操作。 @@ -23,8 +23,8 @@ SET | 参数 | 是否必须 | 说明 | 示例 | |-|-|-|-| -| `ON ` | 是 | 指定点的Tag。要修改的属性必须在这个Tag内。 | `ON player` | -| `` | 是 | 指定要修改或插入的点ID。 | `"player100"` | +| `ON ` | 是 | 指定点的 Tag。要修改的属性必须在这个 Tag 内。 | `ON player` | +| `` | 是 | 指定要修改或插入的点 ID。 | `"player100"` | | `SET ` | 是 | 指定如何修改属性值。 | `SET age = age +1` | | `WHEN ` | 否 | 指定过滤条件。 | `WHEN name == "Tim"` | |`YIELD `| 否 | 指定语句的输出格式。 | `YIELD name AS Name` | @@ -39,7 +39,7 @@ SET 例如: -- 要插入的点包含基于Tag`player`的属性`name`和`age`。 +- 要插入的点包含基于 Tag`player`的属性`name`和`age`。 - `SET`子句指定`age=30`。 @@ -55,12 +55,11 @@ SET 示例如下: ```ngql -// 查看三个点是否存在,结果“Empty set”表示顶点不存在。 +// 查看三个点是否存在,结果 “Empty set” 表示顶点不存在。 nebula> FETCH PROP ON * "player666", "player667", "player668"; +-----------+ | vertices_ | +-----------+ -+-----------+ Empty set nebula> UPSERT VERTEX ON player "player666" \ diff --git a/docs-2.0/3.ngql-guide/12.vertex-statements/4.delete-vertex.md b/docs-2.0/3.ngql-guide/12.vertex-statements/4.delete-vertex.md index 647b0e53f63..cb5b1278558 100644 --- a/docs-2.0/3.ngql-guide/12.vertex-statements/4.delete-vertex.md +++ b/docs-2.0/3.ngql-guide/12.vertex-statements/4.delete-vertex.md @@ -2,13 +2,13 @@ `DELETE VERTEX`语句可以删除点,以及点关联的出边和入边。 -`DELETE VERTEX`语句一次可以删除一个或多个点。用户可以结合管道符一起使用,详情请参见[管道符](../5.operators/4.pipe.md)。 +`DELETE VERTEX`语句一次可以删除一个或多个点。用户可以结合管道符一起使用,详情请参见 [管道符](../5.operators/4.pipe.md)。 !!! note - `DELETE VERTEX`是直接删除点和关联的边。 - - `DELETE TAG`是删除指定点上的指定Tag。当点上只有一个Tag时,执行`DELETE TAG`会删除点,但是不会删除关联的边。 + - `DELETE TAG`是删除指定点上的指定 Tag。当点上只有一个 Tag 时,执行`DELETE TAG`会删除点,但是不会删除关联的边。 ## 语法 diff --git a/docs-2.0/3.ngql-guide/13.edge-statements/1.insert-edge.md b/docs-2.0/3.ngql-guide/13.edge-statements/1.insert-edge.md index d0139d05f13..ea99dbff116 100644 --- a/docs-2.0/3.ngql-guide/13.edge-statements/1.insert-edge.md +++ b/docs-2.0/3.ngql-guide/13.edge-statements/1.insert-edge.md @@ -1,8 +1,8 @@ # INSERT EDGE -`INSERT EDGE`语句可以在Nebula Graph实例的指定图空间中插入一条或多条边。边是有方向的,从起始点(src_vid)到目的点(dst_vid)。 +`INSERT EDGE`语句可以在 Nebula Graph 实例的指定图空间中插入一条或多条边。边是有方向的,从起始点(src_vid)到目的点(dst_vid)。 -`INSERT EDGE`的执行方式为覆盖式插入。如果已有Edge type、起点、终点、rank都相同的边,则**覆盖**原边。 +`INSERT EDGE`的执行方式为覆盖式插入。如果已有 Edge type、起点、终点、rank 都相同的边,则**覆盖**原边。 ## 语法 @@ -22,24 +22,24 @@ INSERT EDGE [IF NOT EXISTS] ( ) {VALUES | VALUE} !!! Note - - `IF NOT EXISTS` 仅检测<边的类型、起始点、目的点和rank>是否存在,不会检测属性值是否重合。 + - `IF NOT EXISTS` 仅检测<边的类型、起始点、目的点和 rank>是否存在,不会检测属性值是否重合。 - `IF NOT EXISTS` 会先读取一次数据是否存在,因此对性能会有明显影响。 -- ``:边关联的Edge type,只能指定一个Edge type。Edge type必须提前创建,详情请参见[CREATE EDGE](../11.edge-type-statements/1.create-edge.md)。 +- ``:边关联的 Edge type,只能指定一个 Edge type。Edge type 必须提前创建,详情请参见 [CREATE EDGE](../11.edge-type-statements/1.create-edge.md)。 - ``:需要设置的属性名称列表。 -- `src_vid`:起始点ID,表示边的起点。 +- `src_vid`:起始点 ID,表示边的起点。 -- `dst_vid`:目的点ID,表示边的终点。 +- `dst_vid`:目的点 ID,表示边的终点。 -- `rank`:可选项。边的rank值。默认值为`0`。rank值可以用来区分Edge type、起始点、目的点都相同的边。 +- `rank`:可选项。边的 rank 值。默认值为`0`。rank 值可以用来区分 Edge type、起始点、目的点都相同的边。 - !!! compatibility "openCypher兼容性" + !!! compatibility "openCypher 兼容性" - openCypher中没有rank的概念。 + openCypher 中没有 rank 的概念。 -- ``:根据`prop_name_list`填写属性值。如果属性值和Edge type中的数据类型不匹配,会返回错误。如果没有填写属性值,而Edge type中对应的属性设置为`NOT NULL`,也会返回错误。详情请参见[CREATE EDGE](../11.edge-type-statements/1.create-edge.md)。 +- ``:根据`prop_name_list`填写属性值。如果属性值和 Edge type 中的数据类型不匹配,会返回错误。如果没有填写属性值,而 Edge type 中对应的属性设置为`NOT NULL`,也会返回错误。详情请参见 [CREATE EDGE](../11.edge-type-statements/1.create-edge.md)。 ## 示例 @@ -48,7 +48,7 @@ INSERT EDGE [IF NOT EXISTS] ( ) {VALUES | VALUE} nebula> CREATE EDGE IF NOT EXISTS e1(); nebula> INSERT EDGE e1 () VALUES "10"->"11":(); -# 插入rank为1的边。 +# 插入 rank 为 1 的边。 nebula> INSERT EDGE e1 () VALUES "10"->"11"@1:(); ``` @@ -56,11 +56,11 @@ nebula> INSERT EDGE e1 () VALUES "10"->"11"@1:(); nebula> CREATE EDGE IF NOT EXISTS e2 (name string, age int); nebula> INSERT EDGE e2 (name, age) VALUES "11"->"13":("n1", 1); -# 一次插入2条边。 +# 一次插入 2 条边。 nebula> INSERT EDGE e2 (name, age) VALUES \ "12"->"13":("n1", 1), "13"->"14":("n2", 2); -# 创建失败,因为"a13"不是int类型。 +# 创建失败,因为"a13"不是 int 类型。 nebula> INSERT EDGE e2 (name, age) VALUES "11"->"13":("n1", "a13"); ``` @@ -84,7 +84,7 @@ nebula> FETCH PROP ON e2 "11"->"13"; ```ngql # 插入边。 nebula> INSERT EDGE e2 (name, age) VALUES "14"->"15"@1:("n1", 12); -# 使用IF NOT EXISTS修改边,因为边已存在,不会进行修改。 +# 使用 IF NOT EXISTS 修改边,因为边已存在,不会进行修改。 nebula> INSERT EDGE IF NOT EXISTS e2 (name, age) VALUES "14"->"15"@1:("n2", 13); nebula> FETCH PROP ON e2 "14"->"15"@1; +-------------------------------------------+ @@ -96,7 +96,7 @@ nebula> FETCH PROP ON e2 "14"->"15"@1; !!! Note - * Nebula Graph {{ nebula.release }} 允许存在悬挂边(Dangling edge)。因此可以在起点或者终点存在前,先写边;此时就可以通过 `._src`或`._dst`获取到(尚未写入的)点VID(不建议这样使用)。 + * Nebula Graph {{ nebula.release }} 允许存在悬挂边(Dangling edge)。因此可以在起点或者终点存在前,先写边;此时就可以通过 `._src`或`._dst`获取到(尚未写入的)点 VID(不建议这样使用)。 * 目前还不能保证操作的原子性,如果失败请重试,否则会发生部分写入。此时读取该数据的行为是未定义的。 * 并发写入同一条边会报`edge conflict`错误,可稍后重试。 - * `边的INSERT速度`大约是点的INSERT速度一半。原因是INSERT边会对应storaged的两个INSERT,`INSERT点`对应storaged的一个INSERT。 + * `边的 INSERT 速度`大约是点的 INSERT 速度一半。原因是 INSERT 边会对应 storaged 的两个 INSERT,`INSERT 点`对应 storaged 的一个 INSERT。 diff --git a/docs-2.0/3.ngql-guide/13.edge-statements/2.update-edge.md b/docs-2.0/3.ngql-guide/13.edge-statements/2.update-edge.md index b874ae830de..6327dc7bb68 100644 --- a/docs-2.0/3.ngql-guide/13.edge-statements/2.update-edge.md +++ b/docs-2.0/3.ngql-guide/13.edge-statements/2.update-edge.md @@ -1,8 +1,8 @@ # UPDATE EDGE -`UPDATE EDGE`语句可以修改边上Edge type的属性。 +`UPDATE EDGE`语句可以修改边上 Edge type 的属性。 -Nebula Graph支持CAS(compare and set)操作。 +Nebula Graph 支持 CAS(compare and set)操作。 ## 语法 @@ -16,10 +16,10 @@ SET | 参数 | 是否必须 | 说明 | 示例 | |-|-|-|-| -| `ON ` | 是 | 指定Edge type。要修改的属性必须在这个Edge type内。 | `ON serve` | -| `` | 是 | 指定边的起始点ID。 | `"player100"` | -| `` | 是 | 指定边的目的点ID。 | `"team204"` | -| `` | 否 | 指定边的rank值。 | `10` | +| `ON ` | 是 | 指定 Edge type。要修改的属性必须在这个 Edge type 内。 | `ON serve` | +| `` | 是 | 指定边的起始点 ID。 | `"player100"` | +| `` | 是 | 指定边的目的点 ID。 | `"team204"` | +| `` | 否 | 指定边的 rank 值。 | `10` | | `SET ` | 是 | 指定如何修改属性值。 | `SET start_year = start_year +1` | | `WHEN ` | 否 | 指定过滤条件。如果``结果为`false`,`SET`子句不会生效。 | `WHEN end_year < 2010` | |`YIELD `| 否 | 指定语句的输出格式。 | `YIELD start_year AS Start_Year` | @@ -27,7 +27,7 @@ SET ## 示例 ```ngql -// 用GO语句查看边的属性值。 +// 用 GO 语句查看边的属性值。 nebula> GO FROM "player100" \ OVER serve \ YIELD properties(edge).start_year, properties(edge).end_year; @@ -37,7 +37,7 @@ nebula> GO FROM "player100" \ | 1997 | 2016 | +------------------+----------------+ -// 修改属性start_year的值,并返回end_year和新的start_year。 +// 修改属性 start_year 的值,并返回 end_year 和新的 start_year。 nebula> UPDATE EDGE ON serve "player100" -> "team204"@0 \ SET start_year = start_year + 1 \ diff --git a/docs-2.0/3.ngql-guide/13.edge-statements/3.upsert-edge.md b/docs-2.0/3.ngql-guide/13.edge-statements/3.upsert-edge.md index 8d192891254..e3ae15a3831 100644 --- a/docs-2.0/3.ngql-guide/13.edge-statements/3.upsert-edge.md +++ b/docs-2.0/3.ngql-guide/13.edge-statements/3.upsert-edge.md @@ -20,10 +20,10 @@ SET | 参数 | 是否必须 | 说明 | 示例 | |-|-|-|-| -| `ON ` | 是 | 指定Edge type。要修改的属性必须在这个Edge type内。 | `ON serve` | -| `` | 是 | 指定边的起始点ID。 | `"player100"` | -| `` | 是 | 指定边的目的点ID。 | `"team204"` | -| `` | 否 | 指定边的rank值。 | `10` | +| `ON ` | 是 | 指定 Edge type。要修改的属性必须在这个 Edge type 内。 | `ON serve` | +| `` | 是 | 指定边的起始点 ID。 | `"player100"` | +| `` | 是 | 指定边的目的点 ID。 | `"team204"` | +| `` | 否 | 指定边的 rank 值。 | `10` | | `SET ` | 是 | 指定如何修改属性值。| `SET start_year = start_year +1` | | `WHEN ` | 否 | 指定过滤条件。 | `WHEN end_year < 2010` | |`YIELD `|否| 指定语句的输出格式。 | `YIELD start_year AS Start_Year` | @@ -38,7 +38,7 @@ SET 例如: -- 要插入的边包含基于Edge type`serve`的属性`start_year`和`end_year`。 +- 要插入的边包含基于 Edge type`serve`的属性`start_year`和`end_year`。 - `SET`子句指定`end_year = 2021`。 @@ -54,7 +54,7 @@ SET 示例如下: ```ngql -// 查看如下三个点是否有serve类型的出边,结果“Empty set”表示没有serve类型的出边。 +// 查看如下三个点是否有 serve 类型的出边,结果 “Empty set” 表示没有 serve 类型的出边。 nebula> GO FROM "player666", "player667", "player668" \ OVER serve \ YIELD properties(edge).start_year, properties(edge).end_year; @@ -156,7 +156,6 @@ nebula> MATCH (v:player{name:"Ben Simmons"})-[e:serve]-(v2) \ | [:serve "player149"->"team219" @0 {end_year: 2020, start_year: 2016}] | +-----------------------------------------------------------------------+ - nebula> UPSERT EDGE on serve \ "player149" -> "team219" \ SET end_year = end_year + 1 \ diff --git a/docs-2.0/3.ngql-guide/13.edge-statements/4.delete-edge.md b/docs-2.0/3.ngql-guide/13.edge-statements/4.delete-edge.md index 15106d6150b..bca0e1a81da 100644 --- a/docs-2.0/3.ngql-guide/13.edge-statements/4.delete-edge.md +++ b/docs-2.0/3.ngql-guide/13.edge-statements/4.delete-edge.md @@ -1,8 +1,8 @@ # DELETE EDGE -`DELETE EDGE`语句可以删除边。一次可以删除一条或多条边。用户可以结合管道符一起使用,详情请参见[管道符](../5.operators/4.pipe.md)。 +`DELETE EDGE`语句可以删除边。一次可以删除一条或多条边。用户可以结合管道符一起使用,详情请参见 [管道符](../5.operators/4.pipe.md)。 -如果需要删除一个点的所有出边,请删除这个点。详情请参见[DELETE VERTEX](../12.vertex-statements/4.delete-vertex.md)。 +如果需要删除一个点的所有出边,请删除这个点。详情请参见 [DELETE VERTEX](../12.vertex-statements/4.delete-vertex.md)。 !!! Note diff --git a/docs-2.0/3.ngql-guide/14.native-index-statements/1.create-native-index.md b/docs-2.0/3.ngql-guide/14.native-index-statements/1.create-native-index.md index 51b37220f58..232fb530382 100644 --- a/docs-2.0/3.ngql-guide/14.native-index-statements/1.create-native-index.md +++ b/docs-2.0/3.ngql-guide/14.native-index-statements/1.create-native-index.md @@ -2,21 +2,21 @@ ## 前提条件 -创建索引之前,请确保相关的Tag或Edge type已经创建。如何创建Tag和Edge type,请参见[CREATE TAG](../10.tag-statements/1.create-tag.md)和[CREATE EDGE](../11.edge-type-statements/1.create-edge.md)。 +创建索引之前,请确保相关的 Tag 或 Edge type 已经创建。如何创建 Tag 和 Edge type,请参见 [CREATE TAG](../10.tag-statements/1.create-tag.md) 和 [CREATE EDGE](../11.edge-type-statements/1.create-edge.md)。 -如何创建全文索引,请参见[部署全文索引](../../4.deployment-and-installation/6.deploy-text-based-index/2.deploy-es.md)。 +如何创建全文索引,请参见 [部署全文索引](../../4.deployment-and-installation/6.deploy-text-based-index/2.deploy-es.md)。 ## 使用索引必读 索引的概念和使用限制都较为复杂。索引配合`LOOKUP`和`MATCH`语句使用。 -`CREATE INDEX`语句用于对Tag、EdgeType或其属性创建原生索引。通常分别称为“Tag索引”、“Edge type索引”和“属性索引”。 +`CREATE INDEX`语句用于对 Tag、EdgeType 或其属性创建原生索引。通常分别称为“Tag 索引”、“Edge type 索引”和“属性索引”。 -- Tag索引和Edge type索引应用于和Tag、Edge type自身相关的查询,例如用`LOOKUP`查找有Tag `player`的所有点。 +- Tag 索引和 Edge type 索引应用于和 Tag、Edge type 自身相关的查询,例如用`LOOKUP`查找有 Tag `player`的所有点。 - “属性索引”应用于基于属性的查询,例如基于属性`age`找到`age == 19`的所有的点。 -如果已经为Tag `T`的属性`A`建立过属性索引`i_TA`,索引之间的可替代关系如下(Edge type索引同理): +如果已经为 Tag `T`的属性`A`建立过属性索引`i_TA`,索引之间的可替代关系如下(Edge type 索引同理): - 查询引擎可以使用`i_TA`来替代`i_T`。 @@ -26,27 +26,27 @@ !!! compatibility "历史版本兼容性" - 在此前的版本中,`LOOKUP`语句中的Tag或Edge type索引不可替代属性索引用于属性查找。 + 在此前的版本中,`LOOKUP`语句中的 Tag 或 Edge type 索引不可替代属性索引用于属性查找。 使用替代索引进行查询虽然能获得相同的结果,但查询性能会根据选择的索引有所区别。 !!! caution - 不要任意在生产环境中使用索引,除非很清楚使用索引对业务的影响。索引会导致写性能下降90%甚至更多。 + 不要任意在生产环境中使用索引,除非很清楚使用索引对业务的影响。索引会导致写性能下降 90%甚至更多。 索引并不用于查询加速。只用于:根据属性定位到点或边,或者统计点边数量。 - 长索引会降低Storage服务的扫描性能,以及占用更多内存。建议将索引长度设置为和要被索引的最长字符串相同。索引长度最长为255,超过部分会被截断。 + 长索引会降低 Storage 服务的扫描性能,以及占用更多内存。建议将索引长度设置为和要被索引的最长字符串相同。索引长度最长为 255,超过部分会被截断。 如果必须使用索引,通常按照如下步骤: -1. 初次导入数据至Nebula Graph。 +1. 初次导入数据至 Nebula Graph。 2. 创建索引。 3. [重建索引](4.rebuild-native-index.md)。 -4. 使用[LOOKUP](../7.general-query-statements/5.lookup.md)或[MATCH](../7.general-query-statements/2.match.md)语句查询数据。不需要(也无法)指定使用哪个索引,Nebula Graph会自动计算。 +4. 使用 [LOOKUP](../7.general-query-statements/5.lookup.md) 或 [MATCH](../7.general-query-statements/2.match.md) 语句查询数据。不需要(也无法)指定使用哪个索引,Nebula Graph 会自动计算。 !!! Note @@ -54,11 +54,11 @@ 日常增量写入时保持 `--disable_auto_compaction = false`。 - 新创建的索引并不会立刻生效。创建新的索引并尝试立刻使用(例如`LOOKUP`或者`REBUILD INDEX`)通常会失败(报错`can't find xxx in the space`)。因为创建步骤是异步实现的,Nebula Graph要在下一个心跳周期才能完成索引的创建。可以使用如下方法之一: + 新创建的索引并不会立刻生效。创建新的索引并尝试立刻使用(例如`LOOKUP`或者`REBUILD INDEX`) 通常会失败(报错`can't find xxx in the space`)。因为创建步骤是异步实现的,Nebula Graph 要在下一个心跳周期才能完成索引的创建。可以使用如下方法之一: - - 在[`SHOW TAG/EDGE INDEXES`](2.show-native-indexes.md)语句的结果中查找到新的索引。或者, + - 在 [`SHOW TAG/EDGE INDEXES`](2.show-native-indexes.md) 语句的结果中查找到新的索引。或者, - - 等待两个心跳周期,例如20秒。如果需要修改心跳间隔,请为[所有配置文件](../../5.configurations-and-logs/1.configurations/1.configurations.md)修改参数`heartbeat_interval_secs`。 + - 等待两个心跳周期,例如 20 秒。如果需要修改心跳间隔,请为 [所有配置文件](../../5.configurations-and-logs/1.configurations/1.configurations.md) 修改参数`heartbeat_interval_secs`。 !!! danger @@ -74,12 +74,12 @@ CREATE {TAG | EDGE} INDEX [IF NOT EXISTS] ON { | `|索引名。索引名在一个图空间中必须是唯一的。推荐的命名方式为`i_tagName_propName`。索引名称由大小写英文字母、数字或下划线组成,区分大写小,且不可使用[关键字和保留字](../../3.ngql-guide/1.nGQL-overview/keywords-and-reserved-words.md)。| -|` \| `|指定索引关联的Tag或Edge名称。| -|``|为**变长**字符串属性创建索引时,必须用`prop_name(length)`指定索引长度;为Tag或Edge type本身创建索引时,忽略``。| -|`COMMENT`|索引的描述。最大为256字节。默认无描述。| +|``|索引名。索引名在一个图空间中必须是唯一的。推荐的命名方式为`i_tagName_propName`。索引名称由大小写英文字母、数字或下划线组成,区分大写小,且不可使用 [关键字和保留字](../../3.ngql-guide/1.nGQL-overview/keywords-and-reserved-words.md)。| +|` \| `|指定索引关联的 Tag 或 Edge 名称。| +|``|为**变长**字符串属性创建索引时,必须用`prop_name(length)`指定索引长度;为 Tag 或 Edge type 本身创建索引时,忽略``。| +|`COMMENT`|索引的描述。最大为 256 字节。默认无描述。| -## 创建Tag/Edge type索引 +## 创建 Tag/Edge type 索引 ```ngql nebula> CREATE TAG INDEX player_index on player(); @@ -89,7 +89,7 @@ nebula> CREATE TAG INDEX player_index on player(); nebula> CREATE EDGE INDEX follow_index on follow(); ``` -为Tag或Edge type创建索引后,用户可以使用 `LOOKUP` 语句查找`带有该Tag的`所有点的VID,或者`所有该类型的边`的`对应起始点VID、目的点VID、以及rank`。详情请参见[LOOKUP](../7.general-query-statements/5.lookup.md)。 +为 Tag 或 Edge type 创建索引后,用户可以使用 `LOOKUP` 语句查找`带有该 Tag 的`所有点的 VID,或者`所有该类型的边`的`对应起始点 VID、目的点 VID、以及 rank`。详情请参见 [LOOKUP](../7.general-query-statements/5.lookup.md)。 ## 创建单属性索引 @@ -97,7 +97,7 @@ nebula> CREATE EDGE INDEX follow_index on follow(); nebula> CREATE TAG INDEX IF NOT EXISTS player_index_0 on player(name(10)); ``` -上述示例是为所有包含Tag`player`的点创建属性`name`的索引,索引长度为10。即只使用属性`name`的前10个字符来创建索引。 +上述示例是为所有包含 Tag`player`的点创建属性`name`的索引,索引长度为 10。即只使用属性`name`的前 10 个字符来创建索引。 ```ngql # 变长字符串需要指定索引长度。 @@ -115,7 +115,7 @@ nebula> CREATE EDGE INDEX IF NOT EXISTS follow_index_0 on follow(degree); ## 创建复合属性索引 -`复合属性索引`用于查找一个Tag(或者Edge type)中的多个属性(的组合)。 +`复合属性索引`用于查找一个 Tag(或者 Edge type) 中的多个属性(的组合)。 ```ngql nebula> CREATE TAG INDEX IF NOT EXISTS player_index_1 on player(name(10), age); @@ -123,7 +123,7 @@ nebula> CREATE TAG INDEX IF NOT EXISTS player_index_1 on player(name(10), age); !!! caution - 不支持跨Tag或Edge type创建复合索引。 + 不支持跨 Tag 或 Edge type 创建复合索引。 !!! note @@ -138,10 +138,10 @@ nebula> CREATE TAG INDEX IF NOT EXISTS player_index_1 on player(name(10), age); 请参见下方示例。 ```ngql - # 为标签t的前三个属性创建复合属性索引。 + # 为标签 t 的前三个属性创建复合属性索引。 nebula> CREATE TAG INDEX example_index ON TAG t(p1, p2, p3); - # 注意:无法匹配到索引,因为不是从p1开始,会返回找不到有效索引的报错。 + # 注意:无法匹配到索引,因为不是从 p1 开始,会返回找不到有效索引的报错。 nebula> MATCH (v:t) WHERE t.p2 == 2 and t.p3 == 3; # 注意:无法匹配到索引,但是退化为全表扫描进行查询。 @@ -149,9 +149,9 @@ nebula> CREATE TAG INDEX IF NOT EXISTS player_index_1 on player(name(10), age); # 可以匹配到索引。 nebula> MATCH (v:t) WHERE t.p1 == 1; - # 可以匹配到索引,因为p1和p2是连续的。 + # 可以匹配到索引,因为 p1 和 p2 是连续的。 nebula> MATCH (v:t) WHERE t.p1 == 1 and t.p2 == 2; - # 可以匹配到索引,因为p1、p2、p3是连续的。 + # 可以匹配到索引,因为 p1、p2、p3 是连续的。 nebula> MATCH (v:t) WHERE t.p1 == 1 and t.p2 == 2 and t.p3 == 3; ``` --> diff --git a/docs-2.0/3.ngql-guide/14.native-index-statements/2.1.show-create-index.md b/docs-2.0/3.ngql-guide/14.native-index-statements/2.1.show-create-index.md index 0df901dd55e..24e425b5943 100644 --- a/docs-2.0/3.ngql-guide/14.native-index-statements/2.1.show-create-index.md +++ b/docs-2.0/3.ngql-guide/14.native-index-statements/2.1.show-create-index.md @@ -1,6 +1,6 @@ # SHOW CREATE INDEX -`SHOW CREATE INDEX`展示创建Tag或者Edge type时使用的nGQL语句,其中包含索引的详细信息,例如其关联的属性。 +`SHOW CREATE INDEX`展示创建 Tag 或者 Edge type 时使用的 nGQL 语句,其中包含索引的详细信息,例如其关联的属性。 ## 语法 @@ -10,7 +10,7 @@ SHOW CREATE {TAG | EDGE} INDEX ; ## 示例 -用户可以先运行`SHOW TAG INDEXES`查看有哪些Tag索引,然后用`SHOW CREATE TAG INDEX`查看指定索引的创建信息。 +用户可以先运行`SHOW TAG INDEXES`查看有哪些 Tag 索引,然后用`SHOW CREATE TAG INDEX`查看指定索引的创建信息。 ```ngql nebula> SHOW TAG INDEXES; @@ -31,7 +31,7 @@ nebula> SHOW CREATE TAG INDEX player_index_1; +------------------+--------------------------------------------------+ ``` -Edge type索引可以用类似的方法查询: +Edge type 索引可以用类似的方法查询: ```ngql nebula> SHOW EDGE INDEXES; @@ -52,4 +52,4 @@ nebula> SHOW CREATE EDGE INDEX follow_index; !!! Compatibility "历史版本兼容性" - Nebula Graph 2.0.1中, `SHOW TAG/EDGE INDEXES` 语句仅返回 `Names`。 + Nebula Graph 2.0.1 中, `SHOW TAG/EDGE INDEXES` 语句仅返回 `Names`。 diff --git a/docs-2.0/3.ngql-guide/14.native-index-statements/2.show-native-indexes.md b/docs-2.0/3.ngql-guide/14.native-index-statements/2.show-native-indexes.md index a2734488b8c..51b5532a084 100644 --- a/docs-2.0/3.ngql-guide/14.native-index-statements/2.show-native-indexes.md +++ b/docs-2.0/3.ngql-guide/14.native-index-statements/2.show-native-indexes.md @@ -1,6 +1,6 @@ # SHOW INDEXES -`SHOW INDEXES`语句可以列出当前图空间内的所有Tag和Edge type(包括属性)的索引。 +`SHOW INDEXES`语句可以列出当前图空间内的所有 Tag 和 Edge type(包括属性)的索引。 ## 语法 @@ -29,7 +29,6 @@ nebula> SHOW EDGE INDEXES; +----------------+----------+---------+ ``` - !!! Compatibility "历史版本兼容性" - Nebula Graph 2.0.1中, `SHOW TAG/EDGE INDEXES` 语句仅返回 `Names`。 + Nebula Graph 2.0.1 中, `SHOW TAG/EDGE INDEXES` 语句仅返回 `Names`。 diff --git a/docs-2.0/3.ngql-guide/14.native-index-statements/4.rebuild-native-index.md b/docs-2.0/3.ngql-guide/14.native-index-statements/4.rebuild-native-index.md index baa7b220f63..8c84071a170 100644 --- a/docs-2.0/3.ngql-guide/14.native-index-statements/4.rebuild-native-index.md +++ b/docs-2.0/3.ngql-guide/14.native-index-statements/4.rebuild-native-index.md @@ -6,7 +6,7 @@ 重建索引期间,所有查询都会跳过索引并执行顺序扫描,返回结果可能不一致。 -请在创建索引后,选择合适的时间为存量数据重建索引。使用索引的详情请参见[CREATE INDEX](1.create-native-index.md)。 +请在创建索引后,选择合适的时间为存量数据重建索引。使用索引的详情请参见 [CREATE INDEX](1.create-native-index.md)。 ## 语法 @@ -19,7 +19,7 @@ REBUILD {TAG | EDGE} INDEX []; - 可以一次重建多个索引,索引名称之间用英文逗号(,)分隔。如果没有指定索引名称,将会重建所有索引。 -- 重建完成后,用户可以使用命令`SHOW {TAG | EDGE} INDEX STATUS`检查索引是否重建完成。详情请参见[SHOW INDEX STATUS](5.show-native-index-status.md)。 +- 重建完成后,用户可以使用命令`SHOW {TAG | EDGE} INDEX STATUS`检查索引是否重建完成。详情请参见 [SHOW INDEX STATUS](5.show-native-index-status.md)。 ## 示例 @@ -27,7 +27,7 @@ REBUILD {TAG | EDGE} INDEX []; nebula> CREATE TAG IF NOT EXISTS person(name string, age int, gender string, email string); nebula> CREATE TAG INDEX IF NOT EXISTS single_person_index ON person(name(10)); -# 重建索引,返回任务ID。 +# 重建索引,返回任务 ID。 nebula> REBUILD TAG INDEX single_person_index; +------------+ | New Job Id | @@ -43,7 +43,7 @@ nebula> SHOW TAG INDEX STATUS; | "single_person_index" | "FINISHED" | +-----------------------+--------------+ -# 也可以使用SHOW JOB 查看重建索引的任务状态。 +# 也可以使用 SHOW JOB 查看重建索引的任务状态。 nebula> SHOW JOB 31; +----------------+---------------------+------------+-------------------------+-------------------------+ | Job Id(TaskId) | Command(Dest) | Status | Start Time | Stop Time | @@ -55,8 +55,8 @@ nebula> SHOW JOB 31; +----------------+---------------------+------------+-------------------------+-------------------------+ ``` -Nebula Graph创建一个任务去重建索引,因此可以根据返回的任务ID,通过`SHOW JOB `语句查看任务状态。详情请参见[SHOW JOB](../18.operation-and-maintenance-statements/4.job-statements/#show_job)。 +Nebula Graph 创建一个任务去重建索引,因此可以根据返回的任务 ID,通过`SHOW JOB `语句查看任务状态。详情请参见 [SHOW JOB](../18.operation-and-maintenance-statements/4.job-statements/#show_job)。 ## 历史版本兼容性 -在Nebula Graph 2.0中,不需要也不支持选项`OFFLINE`。 +在 Nebula Graph 2.0 中,不需要也不支持选项`OFFLINE`。 diff --git a/docs-2.0/3.ngql-guide/14.native-index-statements/5.show-native-index-status.md b/docs-2.0/3.ngql-guide/14.native-index-statements/5.show-native-index-status.md index 1d8efc17449..99a1fedfd51 100644 --- a/docs-2.0/3.ngql-guide/14.native-index-statements/5.show-native-index-status.md +++ b/docs-2.0/3.ngql-guide/14.native-index-statements/5.show-native-index-status.md @@ -13,7 +13,7 @@ !!! Note - 如何创建索引请参见[CREATE INDEX](1.create-native-index.md)。 + 如何创建索引请参见 [CREATE INDEX](1.create-native-index.md)。 ## 语法 diff --git a/docs-2.0/3.ngql-guide/9.space-statements/1.create-space.md b/docs-2.0/3.ngql-guide/9.space-statements/1.create-space.md index 3ebd2773d07..bf81be58991 100644 --- a/docs-2.0/3.ngql-guide/9.space-statements/1.create-space.md +++ b/docs-2.0/3.ngql-guide/9.space-statements/1.create-space.md @@ -1,10 +1,10 @@ # CREATE SPACE -图空间是Nebula Graph中彼此隔离的图数据集合,与MySQL中的database概念类似。`CREATE SPACE`语句可以创建一个新的图空间,或者克隆现有图空间的Schema。 +图空间是 Nebula Graph 中彼此隔离的图数据集合,与 MySQL 中的 database 概念类似。`CREATE SPACE`语句可以创建一个新的图空间,或者克隆现有图空间的 Schema。 ## 前提条件 -只有God角色的用户可以执行`CREATE SPACE`语句。详情请参见[身份验证](../../7.data-security/1.authentication/1.authentication.md)。 +只有 God 角色的用户可以执行`CREATE SPACE`语句。详情请参见 [身份验证](../../7.data-security/1.authentication/1.authentication.md)。 ## 语法 @@ -23,32 +23,32 @@ CREATE SPACE [IF NOT EXISTS] ( |参数|说明| |:---|:---| |`IF NOT EXISTS`|检测待创建的图空间是否存在,只有不存在时,才会创建图空间。仅检测图空间的名称,不会检测具体属性。| -|``|在Nebula Graph实例中唯一标识一个图空间。图空间名称由大小写英文字母、数字或下划线组成,区分大写小,且不可使用[关键字和保留字](../../3.ngql-guide/1.nGQL-overview/keywords-and-reserved-words.md)。| -|`partition_num`|指定图空间的分片数量。建议设置为5倍的集群硬盘数量。例如集群中有3个硬盘,建议设置15个分片。默认值为100。| -|`replica_factor`|指定每个分片的副本数量。建议在生产环境中设置为3,在测试环境中设置为1。由于需要基于多数表决,副本数量必须是**奇数**。默认值为1。| -|`vid_type`|必选参数。指定点ID的数据类型。可选值为`FIXED_STRING()`和`INT64`。`INT`等同于`INT64`。`FIXED_STRING()`表示数据类型为字符串,最大长度为`N`,超出长度会报错;`INT64`表示数据类型为整数。| -|`ON `|指定图空间所属的Group。详情请参见[Group&Zone](../../7.data-security/5.zone.md)。| -|`COMMENT`|图空间的描述。最大为256字节。默认无描述。| +|``|在 Nebula Graph 实例中唯一标识一个图空间。图空间名称由大小写英文字母、数字或下划线组成,区分大写小,且不可使用 [关键字和保留字](../../3.ngql-guide/1.nGQL-overview/keywords-and-reserved-words.md)。| +|`partition_num`|指定图空间的分片数量。建议设置为 5 倍的集群硬盘数量。例如集群中有 3 个硬盘,建议设置 15 个分片。默认值为 100。| +|`replica_factor`|指定每个分片的副本数量。建议在生产环境中设置为 3,在测试环境中设置为 1。由于需要基于多数表决,副本数量必须是**奇数**。默认值为 1。| +|`vid_type`|必选参数。指定点 ID 的数据类型。可选值为`FIXED_STRING()`和`INT64`。`INT`等同于`INT64`。`FIXED_STRING()`表示数据类型为字符串,最大长度为`N`,超出长度会报错;`INT64`表示数据类型为整数。| +|`ON `|指定图空间所属的 Group。详情请参见 [Group&Zone](../../7.data-security/5.zone.md)。| +|`COMMENT`|图空间的描述。最大为 256 字节。默认无描述。| !!! caution - 如果将副本数设置为1,用户将无法使用[BALANCE](../../8.service-tuning/load-balance.md)命令为Nebula Graph的存储服务平衡负载或扩容。 + 如果将副本数设置为 1,用户将无法使用 [BALANCE](../../8.service-tuning/load-balance.md) 命令为 Nebula Graph 的存储服务平衡负载或扩容。 !!! caution - VID类型变更与长度限制 + VID 类型变更与长度限制 - 1. 在Nebula Graph 1.x中,VID的类型只能为`INT64`,不支持字符型;在Nebula Graph 2.x中, VID的类型支持`INT64`和`FIXED_STRING()`。请在创建图空间时指定VID类型,使用`INSERT`语句时也需要保持一致,否则会报错VID类型不匹配`Wrong vertex id type: 1001`。 + 1. 在 Nebula Graph 1.x 中,VID 的类型只能为`INT64`,不支持字符型;在 Nebula Graph 2.x 中,VID 的类型支持`INT64`和`FIXED_STRING()`。请在创建图空间时指定 VID 类型,使用`INSERT`语句时也需要保持一致,否则会报错 VID 类型不匹配`Wrong vertex id type: 1001`。 - 2. VID最大长度必须为`N`,不可任意长度;超过该长度也会报错`The VID must be a 64-bit integer or a string fitting space vertex id length limit.`。 + 2. VID 最大长度必须为`N`,不可任意长度;超过该长度也会报错`The VID must be a 64-bit integer or a string fitting space vertex id length limit.`。 !!! compatibility "历史版本兼容性" - 2.5.0之前的2.x版本中,`vid_type`不是必选参数,默认为`FIXED_STRING(8)`。 + 2.5.0 之前的 2.x 版本中,`vid_type`不是必选参数,默认为`FIXED_STRING(8)`。 !!! note - `graph_space_name`, `partition_num`, `replica_factor`, `vid_type`, `comment` 设置后就无法改变。除非[`DROP SPACE`](./5.drop-space.md),并重新`CREATE SPACE`。 + `graph_space_name`, `partition_num`, `replica_factor`, `vid_type`, `comment` 设置后就无法改变。除非 [`DROP SPACE`](./5.drop-space.md),并重新`CREATE SPACE`。 ### 克隆图空间 @@ -58,19 +58,19 @@ CREATE SPACE AS ; |参数|说明| |:---|:---| -|``|目标图空间名称。该图空间必须未创建。图空间名称由大小写英文字母、数字或下划线组成,区分大写小,且不可使用[关键字和保留字](../../3.ngql-guide/1.nGQL-overview/keywords-and-reserved-words.md)。创建时会克隆``图空间的Schema,包括图空间本身参数(分片数量、副本数量等),以及Tag、Edge type和原生索引。| +|``|目标图空间名称。该图空间必须未创建。图空间名称由大小写英文字母、数字或下划线组成,区分大写小,且不可使用 [关键字和保留字](../../3.ngql-guide/1.nGQL-overview/keywords-and-reserved-words.md)。创建时会克隆``图空间的 Schema,包括图空间本身参数(分片数量、副本数量等),以及 Tag、Edge type 和原生索引。| |``|原始图空间名称。该图空间必须已存在。| ## 示例 ```ngql -# 仅指定VID类型,其他选项使用默认值。 +# 仅指定 VID 类型,其他选项使用默认值。 nebula> CREATE SPACE IF NOT EXISTS my_space_1 (vid_type=FIXED_STRING(30)); -# 指定分片数量、副本数量和VID类型。 +# 指定分片数量、副本数量和 VID 类型。 nebula> CREATE SPACE IF NOT EXISTS my_space_2 (partition_num=15, replica_factor=1, vid_type=FIXED_STRING(30)); -# 指定分片数量、副本数量和VID类型,并添加描述。 +# 指定分片数量、副本数量和 VID 类型,并添加描述。 nebula> CREATE SPACE IF NOT EXISTS my_space_3 (partition_num=15, replica_factor=1, vid_type=FIXED_STRING(30)) comment="测试图空间"; # 克隆图空间。 @@ -89,13 +89,13 @@ nebula> SHOW CREATE SPACE my_space_4; 立刻尝试使用刚创建的图空间可能会失败,因为创建是异步实现的。 -Nebula Graph将在下一个心跳周期内完成图空间的创建,为了确保创建成功,可以使用如下方法之一: +Nebula Graph 将在下一个心跳周期内完成图空间的创建,为了确保创建成功,可以使用如下方法之一: -- 在[`SHOW SPACES`](3.show-spaces.md)或[`DESCRIBE SPACE`](4.describe-space.md)语句的结果中查找新的图空间,如果找不到,请等待几秒重试。 +- 在 [`SHOW SPACES`](3.show-spaces.md) 或 [`DESCRIBE SPACE`](4.describe-space.md) 语句的结果中查找新的图空间,如果找不到,请等待几秒重试。 -- 等待两个心跳周期,例如20秒。 +- 等待两个心跳周期,例如 20 秒。 -如果需要修改心跳间隔,请为[所有配置文件](../../5.configurations-and-logs/1.configurations/1.configurations.md)修改参数`heartbeat_interval_secs`。但过短的心跳周期(<5秒)可能会导致分布式系统中的机器误判对端失联。 +如果需要修改心跳间隔,请为 [所有配置文件](../../5.configurations-and-logs/1.configurations/1.configurations.md) 修改参数`heartbeat_interval_secs`。但过短的心跳周期(<5 秒)可能会导致分布式系统中的机器误判对端失联。 ## 检查分片分布情况 diff --git a/docs-2.0/3.ngql-guide/9.space-statements/2.use-space.md b/docs-2.0/3.ngql-guide/9.space-statements/2.use-space.md index 76095a8f058..a13a87bc27f 100644 --- a/docs-2.0/3.ngql-guide/9.space-statements/2.use-space.md +++ b/docs-2.0/3.ngql-guide/9.space-statements/2.use-space.md @@ -4,7 +4,7 @@ ## 前提条件 -执行`USE`语句指定图空间时,需要当前登录的用户拥有指定图空间的[权限](../../7.data-security/1.authentication/1.authentication.md),否则会报错。 +执行`USE`语句指定图空间时,需要当前登录的用户拥有指定图空间的 [权限](../../7.data-security/1.authentication/1.authentication.md),否则会报错。 ## 语法 @@ -19,10 +19,10 @@ USE ; nebula> CREATE SPACE IF NOT EXISTS space1 (vid_type=FIXED_STRING(30)); nebula> CREATE SPACE IF NOT EXISTS space2 (vid_type=FIXED_STRING(30)); -# 指定图空间space1作为工作空间。 +# 指定图空间 space1 作为工作空间。 nebula> USE space1; -# 切换到图空间space2。检索space2时,无法从space1读取任何数据,检索的点和边与space1无关。 +# 切换到图空间 space2。检索 space2 时,无法从 space1 读取任何数据,检索的点和边与 space1 无关。 nebula> USE space2; ``` @@ -30,5 +30,4 @@ nebula> USE space2; 不能在一条语句中同时操作两个图空间。 - 与Fabric Cypher不同,Nebula Graph的图空间彼此之间是完全隔离的,将一个图空间作为工作空间后,用户无法访问其他空间。使用新图空间的唯一方法是通过`USE`语句切换。而在 Fabric Cypher 中可以在一条语句中(`USE + CALL`语法)使用两个图空间。 - + 与 Fabric Cypher 不同,Nebula Graph 的图空间彼此之间是完全隔离的,将一个图空间作为工作空间后,用户无法访问其他空间。使用新图空间的唯一方法是通过`USE`语句切换。而在 Fabric Cypher 中可以在一条语句中 (`USE + CALL`语法)使用两个图空间。 diff --git a/docs-2.0/3.ngql-guide/9.space-statements/3.show-spaces.md b/docs-2.0/3.ngql-guide/9.space-statements/3.show-spaces.md index fac20b85439..7616f70dd12 100644 --- a/docs-2.0/3.ngql-guide/9.space-statements/3.show-spaces.md +++ b/docs-2.0/3.ngql-guide/9.space-statements/3.show-spaces.md @@ -1,6 +1,6 @@ # SHOW SPACES -`SHOW SPACES`语句可以列出Nebula Graph示例中的所有图空间。 +`SHOW SPACES`语句可以列出 Nebula Graph 示例中的所有图空间。 ## 语法 @@ -20,4 +20,4 @@ nebula> SHOW SPACES; +--------------------+ ``` -创建图空间请参见[CREATE SPACE](1.create-space.md)。 +创建图空间请参见 [CREATE SPACE](1.create-space.md)。 diff --git a/docs-2.0/3.ngql-guide/9.space-statements/5.drop-space.md b/docs-2.0/3.ngql-guide/9.space-statements/5.drop-space.md index 789028d5327..1299736e90f 100644 --- a/docs-2.0/3.ngql-guide/9.space-statements/5.drop-space.md +++ b/docs-2.0/3.ngql-guide/9.space-statements/5.drop-space.md @@ -4,7 +4,7 @@ ## 前提条件 -只有God角色的用户可以执行`DROP SPACE`语句。详情请参见[身份验证](../../7.data-security/1.authentication/1.authentication.md)。 +只有 God 角色的用户可以执行`DROP SPACE`语句。详情请参见 [身份验证](../../7.data-security/1.authentication/1.authentication.md)。 ## 语法