From 783ee612365dc8a58e7cc0ebec7e83c4a0a79628 Mon Sep 17 00:00:00 2001 From: "abby.huang" <78209557+abby-cyber@users.noreply.github.com> Date: Thu, 28 Dec 2023 17:01:51 +0800 Subject: [PATCH] descriptions for escape character `\` (#2406) * descriptions for escape character `\` Update 1.create-tag.md add-on changes * Update 1.create-edge.md * changes * Update docs-2.0-en/3.ngql-guide/11.edge-type-statements/1.create-edge.md Co-authored-by: Chris Chen * Update docs-2.0-en/3.ngql-guide/14.native-index-statements/1.create-native-index.md Co-authored-by: Chris Chen * Update docs-2.0-en/3.ngql-guide/9.space-statements/1.create-space.md * Update docs-2.0-en/3.ngql-guide/9.space-statements/1.create-space.md --------- Co-authored-by: Chris Chen --- .../10.tag-statements/1.create-tag.md | 4 +-- .../11.edge-type-statements/1.create-edge.md | 2 +- .../1.create-native-index.md | 2 +- .../3.ngql-guide/3.data-types/3.string.md | 28 ++++++++++++++++--- .../9.space-statements/1.create-space.md | 4 +-- .../10.tag-statements/1.create-tag.md | 2 +- .../11.edge-type-statements/1.create-edge.md | 2 +- .../1.create-native-index.md | 2 +- .../3.ngql-guide/3.data-types/3.string.md | 27 ++++++++++++++++-- .../9.space-statements/1.create-space.md | 4 +-- 10 files changed, 59 insertions(+), 18 deletions(-) diff --git a/docs-2.0-en/3.ngql-guide/10.tag-statements/1.create-tag.md b/docs-2.0-en/3.ngql-guide/10.tag-statements/1.create-tag.md index 45112bc59eb..b5696e3ea24 100644 --- a/docs-2.0-en/3.ngql-guide/10.tag-statements/1.create-tag.md +++ b/docs-2.0-en/3.ngql-guide/10.tag-statements/1.create-tag.md @@ -31,11 +31,11 @@ CREATE TAG [IF NOT EXISTS] |Parameter|Description| |:---|:---| |`IF NOT EXISTS`|Detects if the tag that you want to create exists. If it does not exist, a new one will be created. The tag existence detection here only compares the tag names (excluding properties).| -|``|1. Each tag name in the graph space must be **unique**.
2. Tag names cannot be modified after they are set.
3. By default, the name only supports 1-4 byte UTF-8 encoded characters, including English letters (case sensitive), numbers, Chinese characters, etc. However, it cannot include special characters other than the underscore (_), and cannot start with a number.
4. To use special characters, reserved keywords, or start with a number, quote the entire name with backticks (\`) and do not include periods (`.`) within the pair of backticks (\`). For more information, see [Keywords and reserved words](../../3.ngql-guide/1.nGQL-overview/keywords-and-reserved-words.md).
**Note**: If you name a tag in Chinese and encounter a `SyntaxError`, you need to quote the Chinese characters with backticks (\`).| +|``|1. Each tag name in the graph space must be **unique**.
2. Tag names cannot be modified after they are set.
3. By default, the name only supports 1-4 byte UTF-8 encoded characters, including English letters (case sensitive), numbers, Chinese characters, etc. However, it cannot include special characters other than the underscore (_), and cannot start with a number.
4. To use special characters, reserved keywords, or start with a number, quote the entire name with backticks (\`) and do not include periods (`.`) within the pair of backticks (\`). For more information, see [Keywords and reserved words](../../3.ngql-guide/1.nGQL-overview/keywords-and-reserved-words.md).
**Note**:
1. If you name a tag in Chinese and encounter a `SyntaxError`, you need to quote the Chinese characters with backticks (\`).
2. To include a backtick (\`) in a tag name, use a backslash to escape the backtick, such as \\\`; to include a backslash, the backslash itself also needs to be escaped, such as \\\ . | |``|The name of the property. It must be unique for each tag. The rules for permitted property names are the same as those for tag names.| |``|Shows the data type of each property. For a full description of the property data types, see [Data types](../3.data-types/1.numeric.md) and [Boolean](../3.data-types/2.boolean.md).| |`NULL | NOT NULL`|Specifies if the property supports `NULL | NOT NULL`. The default value is `NULL`. | -|`DEFAULT`|Specifies a default value for a property. The default value can be a literal value or an expression supported by NebulaGraph. If no value is specified, the default value is used when inserting a new vertex.| +|`DEFAULT`|Specifies a default value for a property. The default value can be a literal value or an expression supported by NebulaGraph. If no value is specified, the default value is used when inserting a new vertex.| |`COMMENT`|The remarks of a certain property or the tag itself. The maximum length is 256 bytes. By default, there will be no comments on a tag.| |`TTL_DURATION`|Specifies the life cycle for the property. The property that exceeds the specified TTL expires. The expiration threshold is the `TTL_COL` value plus the `TTL_DURATION`. The default value of `TTL_DURATION` is `0`. It means the data never expires.| |`TTL_COL`|Specifies the property to set a timeout on. The data type of the property must be `int` or `timestamp`. A tag can only specify one field as `TTL_COL`. For more information on TTL, see [TTL options](../8.clauses-and-options/ttl-options.md).| diff --git a/docs-2.0-en/3.ngql-guide/11.edge-type-statements/1.create-edge.md b/docs-2.0-en/3.ngql-guide/11.edge-type-statements/1.create-edge.md index 42af3fe4a70..f161aac76c6 100644 --- a/docs-2.0-en/3.ngql-guide/11.edge-type-statements/1.create-edge.md +++ b/docs-2.0-en/3.ngql-guide/11.edge-type-statements/1.create-edge.md @@ -31,7 +31,7 @@ CREATE EDGE [IF NOT EXISTS] |Parameter|Description| |:---|:---| |`IF NOT EXISTS`|Detects if the edge type that you want to create exists. If it does not exist, a new one will be created. The edge type existence detection here only compares the edge type names (excluding properties).| -|``|1. The edge type name must be **unique** in a graph space.
2. Once the edge type name is set, it can not be altered.
3. By default, the name only supports 1-4 byte UTF-8 encoded characters, including English letters (case sensitive), numbers, Chinese characters, etc. However, it cannot include special characters other than the underscore (_), and cannot start with a number.
4. To use special characters, reserved keywords, or start with a number, quote the entire name with backticks (\`) and do not include periods (`.`) within the pair of backticks (\`). For more information, see [Keywords and reserved words](../../3.ngql-guide/1.nGQL-overview/keywords-and-reserved-words.md).
**Note**: If you name an edge type in Chinese and encounter a `SyntaxError`, you need to quote the Chinese characters with backticks (\`).| +|``|1. The edge type name must be **unique** in a graph space.
2. Once the edge type name is set, it can not be altered.
3. By default, the name only supports 1-4 byte UTF-8 encoded characters, including English letters (case sensitive), numbers, Chinese characters, etc. However, it cannot include special characters other than the underscore (_), and cannot start with a number.
4. To use special characters, reserved keywords, or start with a number, quote the entire name with backticks (\`) and do not include periods (`.`) within the pair of backticks (\`). For more information, see [Keywords and reserved words](../../3.ngql-guide/1.nGQL-overview/keywords-and-reserved-words.md).
**Note**:
1. If you name an edge type in Chinese and encounter a `SyntaxError`, you need to quote the Chinese characters with backticks (\`).
2. To include a backtick (\`) in an edge type name, use a backslash to escape the backtick, such as \\\`; to include a backslash, the backslash itself also needs to be escaped, such as \\\ . | |``|The name of the property. It must be unique for each edge type. The rules for permitted property names are the same as those for edge type names.| |``|Shows the data type of each property. For a full description of the property data types, see [Data types](../3.data-types/1.numeric.md) and [Boolean](../3.data-types/2.boolean.md).| |`NULL | NOT NULL`|Specifies if the property supports `NULL | NOT NULL`. The default value is `NULL`. `DEFAULT` must be specified if `NOT NULL` is set.| diff --git a/docs-2.0-en/3.ngql-guide/14.native-index-statements/1.create-native-index.md b/docs-2.0-en/3.ngql-guide/14.native-index-statements/1.create-native-index.md index 24fe635a27a..3419875fbeb 100644 --- a/docs-2.0-en/3.ngql-guide/14.native-index-statements/1.create-native-index.md +++ b/docs-2.0-en/3.ngql-guide/14.native-index-statements/1.create-native-index.md @@ -67,7 +67,7 @@ CREATE {TAG | EDGE} INDEX [IF NOT EXISTS] ON { | `|1. The name of the index. It must be unique in a graph space. A recommended way of naming is `i_tagName_propName`.
2. By default, the name only supports 1-4 byte UTF-8 encoded characters, including English letters (case sensitive), numbers, Chinese characters, etc. However, it cannot include special characters other than the underscore (_), and cannot start with a number.
3. To use special characters, reserved keywords, or start with a number, quote the entire name with backticks (\`) and do not include periods (`.`) within the pair of backticks (\`). For more information, see [Keywords and reserved words](../../3.ngql-guide/1.nGQL-overview/keywords-and-reserved-words.md).
**Note**: If you name an index in Chinese and encounter a `SyntaxError`, you need to quote the Chinese characters with backticks (\`). | +|``|1. The name of the index. It must be unique in a graph space. A recommended way of naming is `i_tagName_propName`.
2. By default, the name only supports 1-4 byte UTF-8 encoded characters, including English letters (case sensitive), numbers, Chinese characters, etc. However, it cannot include special characters other than the underscore (_), and cannot start with a number.
3. To use special characters, reserved keywords, or start with a number, quote the entire name with backticks (\`) and do not include periods (`.`) within the pair of backticks (\`). For more information, see [Keywords and reserved words](../../3.ngql-guide/1.nGQL-overview/keywords-and-reserved-words.md).
**Note**:
1. If you name an index in Chinese and encounter a `SyntaxError`, you need to quote the Chinese characters with backticks (\`).
2. To include a backtick (\`) in an index name, use a backslash to escape the backtick, such as \\\`; to include a backslash, the backslash itself also needs to be escaped, such as \\\ .| |` | `|Specifies the name of the tag or edge associated with the index.| |``|To index a **variable-length** string property, you must use `prop_name(length)` to specify the index length, and the maximum index length is 256. To index a tag or an edge type, ignore the `prop_name_list`.| |`COMMENT`|The remarks of the index. The maximum length is 256 bytes. By default, there will be no comments on an index.| diff --git a/docs-2.0-en/3.ngql-guide/3.data-types/3.string.md b/docs-2.0-en/3.ngql-guide/3.data-types/3.string.md index e35a5337af1..9d60fd5ac9b 100644 --- a/docs-2.0-en/3.ngql-guide/3.data-types/3.string.md +++ b/docs-2.0-en/3.ngql-guide/3.data-types/3.string.md @@ -38,13 +38,33 @@ When the fixed-length string you try to write exceeds the length limit: - If the fixed-length string is a property, the writing will succeed, and NebulaGraph will truncate the string and only store the part that meets the length limit. - If the fixed-length string is a VID, the writing will fail and NebulaGraph will return an error. -## Escape characters +## Escape Characters -Line breaks are not allowed in a string. Escape characters are supported within strings, for example: +In strings, the backslash (`\`) serves as an escape character used to denote special characters. -- `"\n\t\r\b\f"` +For example, to include a double quote (`"`) within a string, you cannot directly write `"Hello "world""` as it leads to a syntax error. Instead, use the backslash (`\`) to escape the double quote, such as `"Hello \"world\""`. -- `"\110ello world"` +```ngql +nebula> RETURN "Hello \"world\"" ++-----------------+ +| "Hello "world"" | ++-----------------+ +| "Hello "world"" | ++-----------------+ +``` + +The backslash itself needs to be escaped as it's a special character. For example, to include a backslash in a string, you need to write `"Hello \\ world"`. + +```ngql +nebula> RETURN "Hello \\ world" ++-----------------+ +| "Hello \ world" | ++-----------------+ +| "Hello \ world" | ++-----------------+ +``` + +For more examples of escape characters, see [Escape character examples](https://en.wikipedia.org/wiki/Escape_character#Examples). ## OpenCypher compatibility diff --git a/docs-2.0-en/3.ngql-guide/9.space-statements/1.create-space.md b/docs-2.0-en/3.ngql-guide/9.space-statements/1.create-space.md index 3c7ad29b15e..d7f2af93310 100644 --- a/docs-2.0-en/3.ngql-guide/9.space-statements/1.create-space.md +++ b/docs-2.0-en/3.ngql-guide/9.space-statements/1.create-space.md @@ -22,7 +22,7 @@ CREATE SPACE [IF NOT EXISTS] ( |Parameter|Description| |:---|:---| |`IF NOT EXISTS`|Detects if the related graph space exists. If it does not exist, a new one will be created. The graph space existence detection here only compares the graph space name (excluding properties).| -|``|1. Uniquely identifies a graph space in a NebulaGraph instance.
2. Space names cannot be modified after they are set.
3. By default, the name only supports 1-4 byte UTF-8 encoded characters, including English letters (case sensitive), numbers, Chinese characters, etc. However, it cannot include special characters other than the underscore (_), and cannot start with a number.
4. To use special characters, reserved keywords, or start with a number, quote the entire name with backticks (\`) and do not include periods (`.`) within the pair of backticks (\`). For more information, see [Keywords and reserved words](../../3.ngql-guide/1.nGQL-overview/keywords-and-reserved-words.md).
**Note**: If you name a space in Chinese and encounter a `SyntaxError`, you need to quote the Chinese characters with backticks (\`).| +|``|1. Uniquely identifies a graph space in a NebulaGraph instance.
2. Space names cannot be modified after they are set.
3. By default, the name only supports 1-4 byte UTF-8 encoded characters, including English letters (case sensitive), numbers, Chinese characters, etc. However, it cannot include special characters other than the underscore (_), and cannot start with a number.
4. To use special characters, reserved keywords, or start with a number, quote the entire name with backticks (\`) and do not include periods (`.`) within the pair of backticks (\`). For more information, see [Keywords and reserved words](../../3.ngql-guide/1.nGQL-overview/keywords-and-reserved-words.md).
**Note**:
1. If you name a space in Chinese and encounter a `SyntaxError`, you need to quote the Chinese characters with backticks (\`).
2. To include a backtick (\`) in a space name, use a backslash to escape the backtick, such as \\\`; to include a backslash, the backslash itself also needs to be escaped, such as \\\ .| |`partition_num`|Specifies the number of partitions in each replica. The suggested value is 20 times (2 times for HDD) the number of the hard disks in the cluster. For example, if you have three hard disks in the cluster, we recommend that you set 60 partitions. The default value is 100.| |`replica_factor`|Specifies the number of replicas in the cluster. The suggested number is 3 in a production environment and 1 in a test environment. The replica number must be an **odd number** for the need of quorum-based voting. The default value is 1.| |`vid_type`|A required parameter. Specifies the VID type in a graph space. Available values are `FIXED_STRING(N)` and `INT64`. `INT` equals to `INT64`.
``FIXED_STRING()` specifies the VID as a string, while `INT64` specifies it as an integer. `N` represents the maximum length of the VIDs. If you set a VID that is longer than `N` bytes, NebulaGraph throws an error. Note, for UTF-8 chars, the length may vary in different cases, i.e. a UTF-8 Chinese char is 3 byte, this means 11 Chinese chars(length-33) will exeed a FIXED_STRING(32) vid defination.| @@ -64,7 +64,7 @@ CREATE SPACE [IF NOT EXISTS] AS ; | Parameter | Description | | :--- | :--- | |`IF NOT EXISTS`|Detects if the new graph space exists. If it does not exist, the new one will be created. The graph space existence detection here only compares the graph space name (excluding properties).| -| `` | The name of the graph space that is newly created.
By default, the space name only supports 1-4 byte UTF-8 encoded characters, including English letters (case sensitive), numbers, Chinese characters, etc. But special characters can only use underscore, and cannot start with a number.
To use special characters, reserved keywords, or start with a number, quote the entire name with backticks (\`) and cannot use periods (`.`). For more information, see [Keywords and reserved words](../../3.ngql-guide/1.nGQL-overview/keywords-and-reserved-words.md).
When a new graph space is created, the schema of the old graph space `` will be cloned, including its parameters (the number of partitions and replicas, etc.), Tag, Edge type and native indexes.
**Note**: If you name a space in Chinese and encounter a `SyntaxError`, you need to quote the Chinese characters with backticks (\`).| +| `` | The name of the graph space that is newly created.
By default, the space name only supports 1-4 byte UTF-8 encoded characters, including English letters (case sensitive), numbers, Chinese characters, etc. But special characters can only use underscore, and cannot start with a number.
To use special characters, reserved keywords, or start with a number, quote the entire name with backticks (\`) and cannot use periods (`.`). For more information, see [Keywords and reserved words](../../3.ngql-guide/1.nGQL-overview/keywords-and-reserved-words.md).
When a new graph space is created, the schema of the old graph space `` will be cloned, including its parameters (the number of partitions and replicas, etc.), Tag, Edge type and native indexes.
**Note**:
1. If you name a space in Chinese and encounter a `SyntaxError`, you need to quote the Chinese characters with backticks (\`).
2. To include a backtick (\`) in a space name, use a backslash to escape the backtick, such as \\\`; to include a backslash, the backslash itself also needs to be escaped, such as \\\ .| | `` | The name of the graph space that already exists. | ## Examples diff --git a/docs-2.0-zh/3.ngql-guide/10.tag-statements/1.create-tag.md b/docs-2.0-zh/3.ngql-guide/10.tag-statements/1.create-tag.md index 561e9ed291e..5ca36b9c8ba 100644 --- a/docs-2.0-zh/3.ngql-guide/10.tag-statements/1.create-tag.md +++ b/docs-2.0-zh/3.ngql-guide/10.tag-statements/1.create-tag.md @@ -31,7 +31,7 @@ CREATE TAG [IF NOT EXISTS] |参数|说明| |:---|:---| |`IF NOT EXISTS`|检测待创建的 Tag 是否存在,只有不存在时,才会创建 Tag。仅检测 Tag 的名称,不会检测具体属性。| -|``|1、每个图空间内的 Tag 必须是唯一的。
2、Tag 名称设置后无法修改。
3、默认情况下,仅支持 1~4 字节的 UTF-8 编码字符,包括英文字母(区分大小写)、数字、中文等。不能包含下划线(_)以外的特殊字符,且不能以数字开头。
4、如果需要使用特殊字符、保留关键字或者以数字开头,请使用反引号(\`)包围整个名称。反引号中不能包含英文句号(`.`)。详情参见[关键字和保留字](../../3.ngql-guide/1.nGQL-overview/keywords-and-reserved-words.md)。
**注意**:如果以中文命名 Tag,报`SyntaxError`错误时,需使用反引号(\`)包围中文字符。| +|``|1、每个图空间内的 Tag 必须是唯一的。
2、Tag 名称设置后无法修改。
3、默认情况下,仅支持 1~4 字节的 UTF-8 编码字符,包括英文字母(区分大小写)、数字、中文等。不能包含下划线(_)以外的特殊字符,且不能以数字开头。
4、如果需要使用特殊字符、保留关键字或者以数字开头,请使用反引号(\`)包围整个名称。反引号中不能包含英文句号(`.`)。详情参见[关键字和保留字](../../3.ngql-guide/1.nGQL-overview/keywords-and-reserved-words.md)。
**注意**:
1、如果以中文命名 Tag,报`SyntaxError`错误时,需使用反引号(\`)包围中文字符。
2、名称中如需包含反引号(\`),使用反斜杠(\)来转义反引号(\`),如:\\\`;如需包含反斜杠(\),反斜杠(\)本身也需转义,如:\\\。 | |``|属性名称。每个 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`。指定`NOT NULL`且没有指定`DEFAULT`值时,插入数据必须指定值;同时指定`NOT NULL`和`DEFAULT`值时,插入数据如果没有指定值,则默认插入`DEFAULT`值。| diff --git a/docs-2.0-zh/3.ngql-guide/11.edge-type-statements/1.create-edge.md b/docs-2.0-zh/3.ngql-guide/11.edge-type-statements/1.create-edge.md index 5303553a71b..3c69242d9e9 100644 --- a/docs-2.0-zh/3.ngql-guide/11.edge-type-statements/1.create-edge.md +++ b/docs-2.0-zh/3.ngql-guide/11.edge-type-statements/1.create-edge.md @@ -31,7 +31,7 @@ CREATE EDGE [IF NOT EXISTS] |参数|说明| |:---|:---| |`IF NOT EXISTS`|检测待创建的 Edge type 是否存在,只有不存在时,才会创建 Edge type。仅检测 Edge type 的名称,不会检测具体属性。| -|``|1、每个图空间内的 Edge type 必须是唯一的。
2、Edge type 名称设置后无法修改。
3、默认情况下,仅支持 1~4 字节的 UTF-8 编码字符,包括英文字母(区分大小写)、数字、中文等。不能包含下划线(_)以外的特殊字符,且不能以数字开头。
4、如果需要使用特殊字符、保留关键字或者以数字开头,请使用反引号(\`)包围整个名称。反引号中不能包含英文句号(`.`)。详情参见[关键字和保留字](../../3.ngql-guide/1.nGQL-overview/keywords-and-reserved-words.md)。
**注意**:如果以中文命名 Edge type,报`SyntaxError`错误时,需使用反引号(\`)包围中文字符。| +|``|1、每个图空间内的 Edge type 必须是唯一的。
2、Edge type 名称设置后无法修改。
3、默认情况下,仅支持 1~4 字节的 UTF-8 编码字符,包括英文字母(区分大小写)、数字、中文等。不能包含下划线(_)以外的特殊字符,且不能以数字开头。
4、如果需要使用特殊字符、保留关键字或者以数字开头,请使用反引号(\`)包围整个名称。反引号中不能包含英文句号(`.`)。详情参见[关键字和保留字](../../3.ngql-guide/1.nGQL-overview/keywords-and-reserved-words.md)。
**注意**:
1、如果以中文命名 Edge type,报`SyntaxError`错误时,需使用反引号(\`)包围中文字符。
2、名称中如需包含反引号(\`),使用反斜杠(\)来转义反引号(\`),如:\\\`;如需包含反斜杠(\),反斜杠(\)本身也需转义,如:\\\。| |``|属性名称。每个 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`。当指定属性值为`NOT NULL`时,必需指定属性的默认值,也就是`DEFAULT`的值。| diff --git a/docs-2.0-zh/3.ngql-guide/14.native-index-statements/1.create-native-index.md b/docs-2.0-zh/3.ngql-guide/14.native-index-statements/1.create-native-index.md index 6a626e2488b..b9a0c766a0f 100644 --- a/docs-2.0-zh/3.ngql-guide/14.native-index-statements/1.create-native-index.md +++ b/docs-2.0-zh/3.ngql-guide/14.native-index-statements/1.create-native-index.md @@ -68,7 +68,7 @@ CREATE {TAG | EDGE} INDEX [IF NOT EXISTS] ON { | `|1、索引名。索引名在一个图空间中必须是唯一的。推荐的命名方式为`i_tagName_propName`。
2、默认情况下,仅支持 1~4 字节的 UTF-8 编码字符,包括英文字母(区分大小写)、数字、中文等。不能包含下划线(_)以外的特殊字符,且不能以数字开头。
3、如果需要使用特殊字符、保留关键字或者以数字开头,请使用反引号(\`)包围整个名称。反引号中不能包含英文句号(`.`)。详情参见[关键字和保留字](../../3.ngql-guide/1.nGQL-overview/keywords-and-reserved-words.md)。
**注意**:如果以中文为索引命名,报`SyntaxError`错误时,需使用反引号(\`)包围中文字符。| +|``|1、索引名。索引名在一个图空间中必须是唯一的。推荐的命名方式为`i_tagName_propName`。
2、默认情况下,仅支持 1~4 字节的 UTF-8 编码字符,包括英文字母(区分大小写)、数字、中文等。不能包含下划线(_)以外的特殊字符,且不能以数字开头。
3、如果需要使用特殊字符、保留关键字或者以数字开头,请使用反引号(\`)包围整个名称。反引号中不能包含英文句号(`.`)。详情参见[关键字和保留字](../../3.ngql-guide/1.nGQL-overview/keywords-and-reserved-words.md)。
**注意**:
1、如果以中文为索引命名,报`SyntaxError`错误时,需使用反引号(\`)包围中文字符。
2、名称中如需包含反引号(\`),使用反斜杠(\)来转义反引号(\`),如:\\\`;如需包含反斜杠(\),反斜杠(\)本身也需转义,如:\\\。| |` | `|指定索引关联的 Tag 或 Edge 名称。| |``|为**变长**字符串属性创建索引时,必须用`prop_name(length)`指定索引长度,索引长度最长为 256;为 Tag 或 Edge type 本身创建索引时,忽略``。| |`COMMENT`|索引的描述。最大为 256 字节。默认无描述。| diff --git a/docs-2.0-zh/3.ngql-guide/3.data-types/3.string.md b/docs-2.0-zh/3.ngql-guide/3.data-types/3.string.md index be8100fb05a..be81ed7451b 100644 --- a/docs-2.0-zh/3.ngql-guide/3.data-types/3.string.md +++ b/docs-2.0-zh/3.ngql-guide/3.data-types/3.string.md @@ -40,11 +40,32 @@ nGQL 支持以如下方式使用字符串: ## 转义字符 -字符串中不支持直接换行,可以使用转义字符实现,例如: +反斜杠(`\`)在字符串中为转义字符,用于表示特殊字符。 -- `"\n\t\r\b\f"` +例如,如果想在一个字符串中包含一个双引号(`"`), 不能直接写`"Hello "world""`,因为这会引起语法错误。相反,需要使用反斜杠(`\`)来转义双引号,如`"Hello \"world\""`。 + +```ngql +nebula> RETURN "Hello \"world\"" ++-----------------+ +| "Hello "world"" | ++-----------------+ +| "Hello "world"" | ++-----------------+ +``` + +同样,反斜杠本身也需要转义,因为它是一个特殊字符。例如,要在字符串中包含一个反斜杠,需要写成`"Hello \\ world"`。 + +```ngql +nebula> RETURN "Hello \\ world" ++-----------------+ +| "Hello \ world" | ++-----------------+ +| "Hello \ world" | ++-----------------+ +``` + +更多转义字符的示例,请参见 [Escape character examples](https://en.wikipedia.org/wiki/Escape_character#Examples)。 -- `"\110ello world"` ## OpenCypher 兼容性 diff --git a/docs-2.0-zh/3.ngql-guide/9.space-statements/1.create-space.md b/docs-2.0-zh/3.ngql-guide/9.space-statements/1.create-space.md index 42cc9a384c9..639c330ead6 100644 --- a/docs-2.0-zh/3.ngql-guide/9.space-statements/1.create-space.md +++ b/docs-2.0-zh/3.ngql-guide/9.space-statements/1.create-space.md @@ -23,7 +23,7 @@ CREATE SPACE [IF NOT EXISTS] ( |参数|说明| |:---|:---| |`IF NOT EXISTS`|检测待创建的图空间是否存在,只有不存在时,才会创建图空间。仅检测图空间的名称,不会检测具体属性。| -|``|1、在{{nebula.name}}实例中唯一标识一个图空间。
2、图空间名称设置后无法被修改。
3、默认情况下,仅支持 1~4 字节的 UTF-8 编码字符,包括英文字母(区分大小写)、数字、中文等。不能包含下划线(_)以外的特殊字符,且不能以数字开头。
4、如果需要使用特殊字符、保留关键字或者以数字开头,请使用反引号(\`)包围整个名称。反引号中不能包含英文句号(`.`)。详情参见[关键字和保留字](../../3.ngql-guide/1.nGQL-overview/keywords-and-reserved-words.md)。
**注意**:如果以中文为图空间命名,报`SyntaxError`错误时,需使用反引号(\`)包围中文字符。| +|``|1、在{{nebula.name}}实例中唯一标识一个图空间。
2、图空间名称设置后无法被修改。
3、默认情况下,仅支持 1~4 字节的 UTF-8 编码字符,包括英文字母(区分大小写)、数字、中文等。不能包含下划线(_)以外的特殊字符,且不能以数字开头。
4、如果需要使用特殊字符、保留关键字或者以数字开头,请使用反引号(\`)包围整个名称。反引号中不能包含英文句号(`.`)。详情参见[关键字和保留字](../../3.ngql-guide/1.nGQL-overview/keywords-and-reserved-words.md)。
**注意**:
1、如果以中文为图空间命名,报`SyntaxError`错误时,需使用反引号(\`)包围中文字符。
2、名称中如需包含反引号(\`),使用反斜杠(\)来转义反引号(\`),如:\\\`;如需包含反斜杠(\),反斜杠(\)本身也需转义,如:\\\。| |`partition_num`|指定图空间的分片数量。建议设置为集群中硬盘数量的 20 倍(HDD 硬盘建议为 2 倍)。例如集群中有 3 个硬盘,建议设置 60 个分片。默认值为 10。| |`replica_factor`|指定每个分片的副本数量。建议在生产环境中设置为 3,在测试环境中设置为 1。由于需要基于多数表决,副本数量必须是**奇数**。默认值为 1。| |`vid_type`|必选参数。指定点 ID 的数据类型。可选值为`FIXED_STRING()`和`INT64`。`INT`等同于`INT64`。
`FIXED_STRING()`表示数据类型为定长字符串,长度为`N`字节,超出长度会报错。例如,UTF-8中,一个中文字符的长度为三个字节,如果设置`N`为 12,那么`vid_type`为最多 4 个中文字符。
`INT64`表示数据类型为整数。| @@ -67,7 +67,7 @@ CREATE SPACE [IF NOT EXISTS] AS ; |参数|说明| |:---|:---| |`IF NOT EXISTS`|检测待创建的图空间是否存在,只有不存在时,才会克隆图空间。仅检测图空间的名称,不会检测具体属性。| -|``|目标图空间名称。该图空间必须未创建。
默认情况下,仅支持 1~4 字节的 UTF-8 编码字符,包括英文字母(区分大小写)、数字、中文等,但是特殊字符只能使用下划线。不能以数字开头。
如果需要使用特殊字符、保留关键字或者以数字开头,请使用反引号(\`)包围整个名称。反引号中不能包含英文句号(`.`)。详情参见[关键字和保留字](../../3.ngql-guide/1.nGQL-overview/keywords-and-reserved-words.md)。
创建时会克隆``图空间的 Schema,包括图空间本身参数(分片数量、副本数量等)、Tag、Edge type 和 原生索引。
**注意**:如果以中文为图空间命名,报`SyntaxError`错误时,需使用反引号(\`)包围中文字符。| +|``|目标图空间名称。该图空间必须未创建。
默认情况下,仅支持 1~4 字节的 UTF-8 编码字符,包括英文字母(区分大小写)、数字、中文等,但是特殊字符只能使用下划线。不能以数字开头。
如果需要使用特殊字符、保留关键字或者以数字开头,请使用反引号(\`)包围整个名称。反引号中不能包含英文句号(`.`)。详情参见[关键字和保留字](../../3.ngql-guide/1.nGQL-overview/keywords-and-reserved-words.md)。
创建时会克隆``图空间的 Schema,包括图空间本身参数(分片数量、副本数量等)、Tag、Edge type 和 原生索引。
**注意**:
1、如果以中文为图空间命名,报`SyntaxError`错误时,需使用反引号(\`)包围中文字符。
2、名称中如需包含反引号(\`),使用反斜杠(\)来转义反引号(\`),如:\\\`;如需包含反斜杠(\),反斜杠(\)本身也需转义,如:\\\。| |``|原始图空间名称。该图空间必须已存在。| ## 示例