|
31 | 31 | | bit_and() | 逐位做 AND 操作。 |
|
32 | 32 | | bit_or() | 逐位做 OR 操作。 |
|
33 | 33 | | bit_xor() | 逐位做 XOR 操作。 |
|
34 |
| - | int size() | 返回列表或映射中元素的数量。 | |
| 34 | + | int size() | 返回列表或映射中元素的数量,或字符串的长度。 | |
35 | 35 | | int range(int start, int end, int step) | 返回`[start,end]`中指定步长的值组成的列表。步长`step`默认为 1。 |
|
36 | 36 | | int sign(double x) | 返回 x 的正负号。 如果 x 为`0`,则返回`0`。 如果 x 为负数,则返回`-1`。 如果 x 为正数,则返回`1`。 |
|
37 | 37 | | double e() | 返回自然对数的底 e(2.718281828459045)。 |
|
|
61 | 61 | | string toLower(string a) | 和`lower()`相同。 |
|
62 | 62 | | string upper(string a) | 返回大写形式的字符串。 |
|
63 | 63 | | string toUpper(string a) | 和`upper()`相同。 |
|
64 |
| - | int length(string a) | 以字节为单位,返回给定字符串的长度。 | |
| 64 | + | int length(a) | 返回给定字符串的长度或路径的长度,单位分别是字节和跳数。 | |
65 | 65 | | string trim(string a) | 删除字符串头部和尾部的空格。 |
|
66 | 66 | | string ltrim(string a) | 删除字符串头部的空格。 |
|
67 | 67 | | string rtrim(string a) | 删除字符串尾部的空格。 |
|
|
84 | 84 |
|
85 | 85 | | 函数 | 说明 |
|
86 | 86 | | :-------------------- | :------------------------------------------ |
|
87 |
| - | int now() | 根据当前系统返回当前时区的时间戳。 | |
88 |
| - | timestamp timestamp() | 根据当前系统返回当前时区的时间戳。 | |
| 87 | + | int now() | 根据当前系统返回当前时间戳。 | |
| 88 | + | timestamp timestamp() | 根据当前系统返回当前时间戳。 | |
89 | 89 | | date date() | 根据当前系统返回当前日期(UTC 时间)。 |
|
90 | 90 | | time time() | 根据当前系统返回当前时间(UTC 时间)。 |
|
91 | 91 | | datetime datetime() | 根据当前系统返回当前日期和时间(UTC 时间)。 |
|
92 | 92 |
|
93 |
| -* [Schema 函数](../3.ngql-guide/6.functions-and-expressions/4.schema.md) |
| 93 | +* [Schema 相关函数](../3.ngql-guide/6.functions-and-expressions/4.schema.md) |
94 | 94 |
|
95 | 95 | * 原生 nGQL 语句适用
|
96 | 96 |
|
|
186 | 186 | | 匹配点 | `(v)` | 用户可以在一对括号中使用自定义变量来表示模式中的点。例如`(v)`。 |
|
187 | 187 | | 匹配 Tag | `MATCH (v:player) RETURN v` | 用户可以在点的右侧用`:<tag_name>`表示模式中的 Tag。 |
|
188 | 188 | | 匹配多 Tag | `MATCH (v:player:team) RETURN v LIMIT 10` | 用户可以用英文冒号(:)匹配多 Tag 的点。 |
|
189 |
| - | 匹配点的属性 | `MATCH (v:player{name:"Tim Duncan"}) RETURN v` | 用户可以在 Tag 的右侧用`{<prop_name>: <prop_value>}`表示模式中点的属性。 | |
| 189 | + | 匹配点的属性 | `MATCH (v:player{name:"Tim Duncan"}) RETURN v` <br><br>`MATCH (v) WITH v, properties(v) as props, keys(properties(v)) as kk LIMIT 10000 WHERE [i in kk where props[i] == "Tim Duncan"] RETURN v` | 用户可以在 Tag 的右侧用`{<prop_name>: <prop_value>}`表示模式中点的属性;或者不指定 Tag 直接匹配点的属性。 | |
190 | 190 | | 匹配单点 ID | `MATCH (v) WHERE id(v) == 'player101' RETURN v` | 用户可以使用点 ID 去匹配点。`id()`函数可以检索点的 ID。 |
|
191 | 191 | | 匹配多点 ID | `MATCH (v:player { name: 'Tim Duncan' })--(v2) WHERE id(v2) IN ["player101", "player102"] RETURN v2` | 要匹配多个点的 ID,可以用`WHERE id(v) IN [vid_list]`。 |
|
192 | 192 | | 匹配连接的点 | `MATCH (v:player{name:"Tim Duncan"})--(v2) RETURN v2.player.name AS Name` | 用户可以使用`--`符号表示两个方向的边,并匹配这些边连接的点。用户可以在`--`符号上增加`<`或`>`符号指定边的方向。 |
|
193 | 193 | | 匹配路径 | `MATCH p=(v:player{name:"Tim Duncan"})-->(v2) RETURN p` | 连接起来的点和边构成了路径。用户可以使用自定义变量命名路径。 |
|
194 | 194 | | 匹配边 | `MATCH (v:player{name:"Tim Duncan"})-[e]-(v2) RETURN e`<br>`MATCH ()<-[e]-() RETURN e LIMIT 3` | 除了用`--`、`-->`、`<--`表示未命名的边之外,用户还可以在方括号中使用自定义变量命名边。例如`-[e]-`。 |
|
195 | 195 | | 匹配 Edge type | `MATCH ()-[e:follow]->() RETURN e LIMIT 5` | 和点一样,用户可以用`:<edge_type>`表示模式中的 Edge type,例如`-[e:follow]-`。 |
|
196 |
| - | 匹配边的属性 | ` MATCH (v:player{name:"Tim Duncan"})-[e:follow{degree:95}]->(v2) RETURN e` | 用户可以用`{<prop_name>: <prop_value>}`表示模式中 Edge type 的属性,例如`[e:follow{likeness:95}]`。 | |
| 196 | + | 匹配边的属性 | ` MATCH (v:player{name:"Tim Duncan"})-[e:follow{degree:95}]->(v2) RETURN e` <br><br>`MATCH ()-[e]->() WITH e, properties(e) as props, keys(properties(e)) as kk LIMIT 10000 WHERE [i in kk where props[i] == 90] RETURN e`| 用户可以用`{<prop_name>: <prop_value>}`表示模式中 Edge type 的属性,例如`[e:follow{likeness:95}]`;或者不指定 Edge type 直接匹配边的属性。 | |
197 | 197 | | 匹配多个 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]`。 |
|
198 | 198 | | 匹配多条边 | `MATCH (v:player{name:"Tim Duncan"})-[]->(v2)<-[e:serve]-(v3) RETURN v2, v3` | 用户可以扩展模式,匹配路径中的多条边。 |
|
199 | 199 | | 匹配定长路径 | `MATCH p=(v:player{name:"Tim Duncan"})-[e:follow*2]->(v2) RETURN DISTINCT v2 AS Friends` | 用户可以在模式中使用`:<edge_type>*<hop>`匹配定长路径。`hop`必须是一个非负整数。`e`的数据类型是列表。 |
|
|
0 commit comments