GQL 语法汇总¶
本文盘点了 GQL 中最常用的语句与命令,方便快速查阅。
数据定义语句¶
Schema¶
| 语句 | 描述 |
|---|---|
|
创建 Schema。 |
|
销毁 Schema。 |
图类型¶
| 语句 | 描述 |
|---|---|
|
创建每个点类型均使用一个属性作为主键的图类型。 |
|
创建边类型均使用一个属性作为多边键的图类型。 |
|
创建点类型的属性带有默认值的图类型。 |
|
创建主键和多边键分别由多个属性组成的图类型。 |
|
创建空图类型。 |
|
销毁图类型。 |
|
添加点类型和边类型。 |
|
删除点类型和边类型。 |
|
重命名点类型和边类型。 |
|
为点类型和边类型添加标签。 |
|
为点类型和边类型删除标签。 |
|
为点类型和边类型添加属性。 |
|
为点类型和边类型删除属性。 |
|
重命名点类型和边类型的属性。 |
|
修改点类型和边类型的属性。 |
|
重命名图类型。 |
图¶
| 语句 | 描述 |
|---|---|
|
创建图。 |
|
销毁图。 |
|
重命名图。 |
临时图¶
| 语句 | 描述 |
|---|---|
|
基于现有图创建临时图。 |
|
基于子图创建临时图。 |
|
销毁临时图。 |
索引¶
| 语句 | 描述 |
|---|---|
|
在点类型上创建普通索引。 |
|
在边类型上创建普通索引。 |
|
基于度量L2,在两个点类型上创建 IVF 向量索引。
|
|
基于度量IP,在一个边类型上创建 HNSW 向量索引。
|
|
在点类型上基于地理空间类型的属性创建空间索引。 |
|
在边类型上基于地理空间类型的属性创建空间索引。 |
|
在点类型上创建全文索引。 |
|
销毁点类型上的索引。 |
|
销毁边类型上的索引。 |
TTL¶
| 语句 | 描述 |
|---|---|
|
为边类型设置 TTL 时长。 |
|
删除边类型的 TTL 时长。 |
|
修改边类型的 TTL 时长。 |
过程¶
| 语句 | 描述 |
|---|---|
|
创建一个 UDP。 |
|
创建或替换一个 UDP。 |
|
销毁一个 UDP。 |
|
修改一个 UDP 的描述。 |
|
修改一个 UDP 的名称。 |
数据操作语句¶
INSERT¶
| 语句 | 描述 |
|---|---|
|
基于点类型插入点。若发现冲突,则语句执行失败并报告错误,不会插入任何图元素。 |
|
使用INSERT OR REPLACE时,如果图元素不存在,则插入该元素;如果已存在,则替换该元素。
|
|
使用INSERT OR IGNORE时,如果图元素不存在,则插入该元素;如果已存在,则忽略本次写入,保留原有数据,不报错。本例中,已有的id:11点保持不变,尚不存在的id:12点正常插入。
|
|
使用INSERT OR UPDATE时,如果图元素不存在,则插入该元素;如果已存在,则更新该元素。
|
|
指定标签插入点。 |
|
插入带有NULL属性值的点。
|
|
基于已存在的点插入边。 |
|
同时插入新的点和边。 |
|
基于已存在的点插入一个点和一条边。 |
|
基于已存在的点插入多个点和边。 |
|
使用表变量批量插入点和边。 |
SET¶
| 语句 | 描述 |
|---|---|
|
更新点的单个属性。 |
|
更新点的多个属性。 |
|
更新边的单个属性。 |
|
使用表变量批量更新点。 |
DELETE¶
| 语句 | 描述 |
|---|---|
|
删除点。 |
|
删除边。 |
|
删除点和边。 |
|
使用DETACH DELETE删除点和所有与之连接的边。
|
|
使用DETACH DELETE删除所有点和边。
|
|
使用表变量批量删除点。 |
数据查询语句¶
MATCH¶
| 语句 | 描述 |
|---|---|
|
用点变量匹配点。 |
|
用标签匹配点。 |
|
用变量标签匹配点。 |
|
用 WHERE 子句匹配点。 |
|
用点属性匹配点。 |
|
用单个点类型匹配点。 |
|
用变量点类型匹配点。 |
|
用多个点类型匹配点。 |
|
用边变量匹配边。 |
|
用标签匹配边。 |
|
用变量标签匹配边。 |
|
用 WHERE 子句匹配边。 |
|
用边属性匹配边。 |
|
用单个边类型匹配边。 |
|
用变量边类型匹配边。 |
|
用多个边类型匹配边。 |
|
匹配入边。 |
|
匹配无向边。 |
|
匹配无向边和入边。 |
|
匹配出边和入边。 |
|
匹配任意方向的边。 |
|
用量化边模式匹配变长路径。 |
|
用简单路径模式匹配。 |
|
用复杂路径模式匹配。 |
|
用量化路径模式匹配变长路径。 |
|
匹配变长路径并返回路径。 |
|
匹配不含重复边的路径。 |
|
匹配不含重复点的路径。 |
|
匹配所有满足条件的两个点之间的所有路径。 |
|
匹配所有满足条件的两个点之间的任意两条路径。 |
|
匹配所有满足条件的两个点之间的所有最短路径。 |
|
匹配所有满足条件的两个点之间的任意一条最短路径。 |
|
匹配所有满足条件的两个点之间的任意两条最短路径。 |
|
匹配多种点模式。 |
|
匹配多种边模式。 |
|
匹配多种路径模式。 |
|
指定 OPTIONAL 关键字进行可选匹配。 |
|
同时使用普通匹配和可选匹配。 |
FILTER¶
| 语句 | 描述 |
|---|---|
|
过滤 FOR 语句的结果。 |
|
过滤 MATCH 语句的结果。 |
|
过滤 CALL 语句的结果。 |
LET¶
| 语句 | 描述 |
|---|---|
|
使用表达式定义变量。 |
|
使用点属性定义变量。 |
|
使用子查询定义变量。 |
|
在后续语句中使用变量。 |
FOR¶
| 语句 | 描述 |
|---|---|
|
展开一个列表。 |
|
展开一个嵌套列表。 |
|
展开两个列表。 |
|
展开一个使用range函数生成的列表。 |
|
展开两个由||连接的列表。 |
|
展开表格。 |
|
展开列表并返回从 1 开始的索引。 |
|
展开列表并返回从 0 开始的索引。 |
分页¶
| 语句 | 描述 |
|---|---|
|
使用ORDER BY、OFFSET和LIMIT进行分页。 |
|
在RETURN语句后执行分页。 |
RETURN¶
| 语句 | 描述 |
|---|---|
|
返回所有结果。 |
|
返回点的多个属性。 |
|
返回点的多个属性并指定别名。 |
|
返回聚合计算后的结果。 |
|
返回去重后的结果。 |
最终输出语句¶
| 语句 | 描述 |
|---|---|
|
返回唯一结果并对结果进行分页。 |
|
结束 MATCH 语句且不返回数据。 |
|
结束内联过程。 |
CALL¶
| 语句 | 描述 |
|---|---|
|
调用一个命名过程。 |
|
使用OPTIONAL关键字调用一个命名过程。 |
|
调用一个内联过程进行计算。 |
|
使用OPTIONAL关键字调用一个内联过程。 |
线性查询¶
| 语句 | 描述 |
|---|---|
|
执行包含FOR、FILTER、RETURN和OFFSET语句的线性查询。 |
|
执行包含MATCH、FILTER、RETURN和ORDER BY语句的线性查询。 |
复合查询¶
| 语句 | 描述 |
|---|---|
|
使用UNION操作符组合两个查询结果。 |
|
使用EXCEPT操作符组合两个查询结果。 |
|
使用INTERSECT操作符组合两个查询结果。 |
最近邻查询¶
| 语句 | 描述 |
|---|---|
|
执行 KNN 搜索并根据欧几里得距离查找 3 个最近邻。 |
|
执行 ANN 搜索并根据欧几里得距离查找 3 个最近邻。 |
导入导出语句¶
IMPORT¶
| 语句 | 描述 |
|---|---|
|
从悦数图数据库开发版导入完整图到临时图。 |
|
从悦数图数据库开发版导入特定点和边到临时图。 |
|
直接从 CSV 文件导入数据到临时图。 |
|
使用文件变量从 CSV 文件导入数据到临时图。 |
EXPORT¶
| Statement | Description |
|---|---|
|
将点和边导出到 CSV 文件。 |
|
将点和边的属性导出到 CSV 文件。 |
|
将点绑定的聚合值导出到表格中。 |
服务端编程语句¶
匹配计算语句¶
| 语句 | 描述 |
|---|---|
|
基于用户的电影偏好计算用户之间的 Jaccard 相似度。 |
变量操作语句¶
| 语句 | 描述 |
|---|---|
|
为原始值变量赋值。 |
|
为全局聚合值变量赋值。 |
|
为点绑定聚合值变量赋值。 |
|
为活动集变量赋值。 |
|
将值聚合到全局聚合值变量中。 |
|
将值聚合到点绑定聚合值变量中。 |
|
调用聚合值变量的成员函数。 |
控制流语句¶
| 语句 | 描述 |
|---|---|
|
使用WHILE循环重复执行一段语句块。 |
|
使用IF-ELSEIF-ELSE语句有条件地执行一段语句块。 |
|
使用BREAK语句退出循环。 |
|
使用CONTINUE语句跳过当前迭代中剩余的语句并进入下一次迭代。 |
日志语句¶
| 语句 | 描述 |
|---|---|
|
在查询执行时记录信息和告警消息。 |
语句块¶
| 语句 | 描述 |
|---|---|
|
同时包含数据查询和数据操作语句的语句块。 |
|
包含多个数据查询语句的语句块。 |
子句¶
USE¶
| 语句 | 描述 |
|---|---|
|
在查询语句中声明一个工作图。 |
|
在复合查询语句中声明多个工作图。 |
|
在嵌套查询语句中多次声明一个工作图。 |
|
在数据操作语句中声明工作图。 |
WHERE¶
| 语句 | 描述 |
|---|---|
|
使用一个条件过滤。 |
|
使用多个条件过滤。 |
YIELD¶
| 语句 | 描述 |
|---|---|
|
选择并重命名列。 |
GROUP BY¶
| 语句 | 描述 |
|---|---|
|
基于单列分组。 |
|
基于带别名的列分组。 |
|
基于多列分组。 |
|
将所有行作为一个组。 |
ORDER BY¶
| 语句 | 描述 |
|---|---|
|
使用ASC按升序排序。
|
|
使用DESC按降序排序。
|
|
使用NULLS FIRST将null值排在最前面。当使用DESC时,默认使用NULLS LAST。
|
|
多列排序。返回结果先根据第一个排序键排序。如果这个键的取值相同,返回结果将根据第二个排序键进一步排序。此过程会继续进行,直到所有的排序键都应用完毕。 |
LIMIT¶
| 语句 | 描述 |
|---|---|
|
指定返回行数的上限。如果此上限大于或等于总行数,则返回所有行。否则,返回的行数不超过此上限。 |
OFFSET¶
| 语句 | 描述 |
|---|---|
|
返回结果中跳过一定数量的行。如果此数量大于总行数,则返回空结果。 |
SAMPLE¶
| 语句 | 描述 |
|---|---|
|
采样前 2 条边。 |
|
随机采样 10% 的边。 |
|
随机采样 2 条连接唯一邻点的边。 |
函数¶
数学函数¶
| 语句 | 描述 |
|---|---|
|
函数abs()返回一个数的绝对值。
|
|
函数mod()返回除法运算的余数。
|
|
函数floor()返回小于或等于给定数的最大整数或小数(小数部分为0)。
|
|
函数ceil()或ceiling()返回大于或等于给定数的最小整数或小数(小数部分为0)。
|
|
函数round()基于给定的精度对一个数进行四舍五入。
|
|
函数exp()返回自然底数e的指定次幂。
|
|
函数sign()接受一个浮点数或整数作为输入,根据输入数值的正负性返回一个特定的整数值。
|
|
函数pi()返回数学常数pi。
|
|
函数sqrt()返回一个数的平方根。
|
|
函数power()返回一个数的幂次运算结果。
|
|
函数isnan()用于检查给定的数是否是 NaN,是则返回true,否则返回false。
|
|
函数rand()返回一个从0(含)到1(不含)范围内的随机浮点数。
|
|
rand_geo()是rand_geometric()的别名,两者功能相同,均返回几何分布中第一次成功之前的失败次数。
|
|
函数log()返回一个数在特定底数下的对数值。
|
|
函数log10()返回一个数在以 10 为底数下的对数值。
|
|
函数ln()返回一个数在自然底数e下的对数值。
|
|
函数sin()返回一个数的正弦值。
|
|
函数cos()返回一个数的余弦值。
|
|
函数tan()返回一个数的正切值。
|
|
函数cot()返回一个数的余切值。
|
|
函数sinh()返回一个数的双曲正弦值。
|
|
函数cosh()返回一个数的双曲余弦值。
|
|
函数tanh()返回一个数的双曲正切值。
|
|
函数asin()返回一个数的反正弦值。
|
|
函数acos()返回一个数的反余弦值。
|
|
函数atan()返回一个数的反正切值。
|
|
函数haversin()返回一个数的半正矢值。
|
聚合函数¶
| 语句 | 描述 |
|---|---|
|
函数avg()返回一组值的平均值。 |
|
函数collect()将一组值聚合到一个列表中。函数collect_list()与函数collect()的作用是一致的。 |
|
函数count()返回一组值的数量。 |
|
函数max()返回一组值中的最大值。 |
|
函数min()返回一组值中的最小值。 |
|
函数sum()返回一组值的总和。 |
|
函数stddev_pop()返回一组值的总体标准偏差。 |
|
函数stddev_samp()返回一组值的样本标准偏差。 |
|
函数percentile_cont()接受一个 0 到 1 之间的百分位数,并返回在排序后的一组数据中对应该百分位数的位置的插值。 |
|
函数percentile_disc()接受一个 0 到 1 之间的百分位数,并返回在排序后的一组数据中最接近指定百分位数的实际值,而不是插值。 |
|
函数any_value()从一组值中返回任意一个值。 |
关于聚合表达式的更多信息,请参见聚合表达式。
字符串函数¶
| 语句 | 描述 |
|---|---|
|
函数substring()返回字符串的子串。
|
|
函数fmt()格式化指定的值并插入字符串的占位符中。
|
|
函数left()返回字符串左侧指定长度的字符。 |
|
函数right()返回字符串右侧指定长度的字符。 |
|
函数upper()将字符串中的所有字符转换为大写形式。 |
|
函数lower()将字符串中的所有字符转换为小写形式。 |
|
函数trim()返回去除左侧、右侧或两侧的指定字符串后的字符串。 |
|
函数ltrim()返回去除左侧指定字符后的字符串。 |
|
函数rtrim()返回去除右侧字符后的字符串。 |
|
函数length()返回字符串中的字符数。 |
|
如果在字符串中找到指定的子字符串,函数contains()返回true。 |
|
如果字符串与指定模式匹配,函数like()返回true。 |
|
如果字符串匹配指定的正则表达式,函数regexp_like()返回true。 |
|
函数split()使用指定的正则表达式作为分隔符,将字符串拆分成子字符串列表。 |
|
函数md5()返回字符串的 MD5 哈希值。 |
|
函数index_of()返回指定子字符串在目标字符串中第一次出现的起始位置。 |
|
函数indexes_of()返回目标字符串中指定子字符串的所有起始位置列表。 |
|
函数to_literal()返回输入值的字符串表示形式。 |
时间函数¶
| 语句 | 描述 |
|---|---|
|
函数date()将字符串解析为日期。 |
|
函数local_datetime()将字符串解析为本地日期时间。 |
|
函数zoned_datetime()将字符串解析为带时区的日期时间,并返回带会话时区的日期时间。 |
|
函数zoned_time()将字符串解析为带时区的时间,并返回带会话时区的时间。 |
|
函数local_time()将字符串解析为本地时间。 |
|
CURRENT_TIME是关键字形式的零参函数,返回当前会话时区下的当前带时区的时间。 |
|
CURRENT_TIMESTAMP是关键字形式的零参函数,返回当前会话时区下的当前带时区的日期时间。 |
|
函数from_epoch()将微秒级 Unix 时间戳转换为带时区的日期时间。 |
|
函数to_epoch()将带时区的日期时间转化为微秒级 Unix 时间戳。 |
|
函数duration()将指定的映射类型的值解析为时间段,并返回符合 ISO 8601 标准的格式为P[nY][nM][nD]T[nH][nM][fS]的字符串。 |
|
函数duration_between()计算两个时间点之间的时间段,并以字符串形式返回时间段。 |
时间点和时间段之间的运算¶
| 语句 | 描述 |
|---|---|
|
日期中添加时间段。 |
|
日期中减去时间段。 |
|
本地日期时间中减去时间段(小于一天)。 |
|
本地日期时间中减去时间段(大于一天)。 |
列表函数¶
| 语句 | 描述 |
|---|---|
|
函数length()返回列表中元素的数量。 |
|
函数cardinality()返回列表或记录中元素的数量。 |
|
函数head()返回列表中的第一个元素。 |
|
函数tail()去除列表中的第一个元素。 |
|
函数back()返回列表中的最后一个元素。 |
|
函数range()返回一个从start值到end值的整数列表,其中,任意两个连续值之间的差值称为步长step,是一个常量。 |
|
函数list_slice()返回一个从`start`值到`end`值的列表切片。 |
|
函数trim()从列表末尾去除指定数量的元素后返回列表。 |
|
函数zip()将两个列表中对应位置的元素配对成列表,然后将这些列表组合成一个新的列表。 |
|
函数list_distinct()从输入列表中移除重复值,然后返回一个新的列表。 |
|
函数list_except()返回存在于列表 x 中但不存在于列表 y 中的元素组成的列表,并移除结果中的重复值。 |
|
函数list_intersect()返回列表 x 和列表 y 的交集元素组成的列表,并移除结果中的重复值。 |
|
函数list_join()使用指定的分隔符连接输入列表中的元素,可以使用可选字符串替换列表中的 NULL 值。 |
|
函数list_max()返回输入列表中的最大值。如果列表中包含 NULL 值,则返回 NULL。 |
|
函数list_min()返回输入列表中的最小值。如果列表中包含 NULL 值,则返回 NULL。 |
|
函数list_union()返回列表 x 和列表 y 的并集元素组成的列表,并移除结果中的重复值。 |
|
函数list_sort()返回按升序排序后的列表。 |
|
函数list_sum()返回列表中所有非 NULL 元素的总和。如果列表中没有非 NULL 元素,则返回 0.0。 |
|
函数remove_nulls()从输入列表中移除所有 NULL 值。 |
表格函数¶
| 语句 | 描述 |
|---|---|
|
拆分表格并统计总行数。 |
|
按指定大小拆分表格。 |
|
遍历子表格中的行。 |
集合函数¶
| 语句 | 描述 |
|---|---|
|
函数set_append()向现有集合中追加一个新元素。 |
|
函数set_union()返回两个集合的并集。 |
|
函数set_intersect()返回两个集合的交集。 |
|
函数set_except()返回两个集合的差集。 |
|
函数set_sum()返回集合中数值元素的总和。 |
|
函数set_max()返回集合中的最大值。 |
|
函数set_min()返回集合中的最小值。 |
|
函数set_filter()返回满足谓词条件的新集合。 |
|
函数set_remove()从集合中移除指定元素。 |
|
函数remove_nulls()从集合中移除 NULL 值。 |
映射函数¶
| 语句 | 描述 |
|---|---|
|
函数map_append()向已有的映射追加一个新的键值对。 |
|
函数map_replace()替换映射中指定键对应的值。 |
|
函数element_at()返回映射中指定键对应的值。 |
|
函数map_keys()返回映射中的所有键。 |
|
函数map_values()返回映射中的所有值。 |
|
函数map_union()返回两个映射的并集。 |
|
函数map_intersect()返回两个映射的交集。 |
|
函数map_except()返回两个映射的差集。 |
|
函数map_filter()返回满足谓词条件的新映射。 |
|
函数map_remove()移除映射中指定键对应的键值对。 |
|
函数remove_nulls()从映射中移除键和值都为 NULL 的键值对。 |
图函数¶
| 语句 | 描述 |
|---|---|
|
函数element_id()返回图中点的唯一标识符。 |
|
函数multiedge_id()基于平行边的多边键,返回用于区分特定平行边的唯一标识符。若不存在平行边,则返回0。 |
|
函数left_node_id()返回给定路径中指定边左侧点的唯一标识符。 |
|
函数right_node_id()返回给定路径中指定边右侧点的唯一标识符。 |
|
函数nodes()以列表的形式返回路径中的所有点。 |
|
函数edges()或relationships()以列表的形式返回路径中的所有边。 |
|
函数length()返回路径的长度。 |
|
函数cardinality()返回路径中的元素数量。 |
|
函数labels()返回图元素的所有标签。 |
|
如果列表中的所有图元素彼此不同,函数all_different()返回true。否则,返回false。 |
|
如果列表中的所有图元素都相同,函数same()返回true。否则,返回false。 |
|
函数type()返回图元素所属的元素类型的名称。 |
匿名函数¶
| 语句 | 描述 |
|---|---|
|
函数transform()接受一个列表和一个匿名表达式,并返回一个转换后的新列表。 |
|
函数filter()接受一个列表和一个匿名表达式,并返回一个过滤后的新列表,其中包含原始列表中满足匿名表达式的元素。 |
|
函数reduce()将一个匿名表达式应用于列表中的每个元素,进行累积计算,并返回一个值。 |
关于匿名表达式的更多信息,请参见匿名表达式。
向量函数¶
| 语句 | 描述 |
|---|---|
|
函数euclidean()返回两个向量之间的欧几里得距离。 |
|
函数inner_product()返回两个向量的内积。 |
|
函数cosine()返回两个向量的余弦相似度。 |
|
函数abs()返回一个向量,其中每个元素是给定向量中对应元素的绝对值。 |
|
函数abs2()返回一个向量,其中每个元素是给定向量中对应元素的平方。 |
|
函数sqrt()返回一个向量,其中每个元素是给定向量中对应元素的平方根。 |
|
函数ln()返回一个向量,其中每个元素都是给定向量中对应元素在自然底数e下的对数值。 |
|
函数log10()返回一个向量,其中每个元素是给定向量中对应元素以10为底数的对数。 |
|
函数exp()返回一个向量,其中每个元素都是给定向量中对应元素为幂,底数为e的指数值。 |
|
函数normalize()返回一个归一化后的向量,即将向量的长度调整为 1,归一化后的向量方向与原向量相同。 |
|
函数accum()返回给定向量内所有元素的总和。 |
|
函数mean()返回给定向量内所有元素的平均值。 |
|
函数prod()返回给定向量内所有元素的乘积。 |
|
函数norm()返回给定向量的欧几里得范数。 |
|
函数squared_norm()返回给定向量的平方欧几里得范数。 |
向量的算术运算¶
| 语句 | 描述 |
|---|---|
|
向量间的加法。 |
|
向量间的减法。 |
|
向量与数字的加法。 |
|
向量与数字的减法。 |
|
向量与数字的乘法。 |
|
向量与数字的除法。 |
地理空间函数¶
| 语句 | 描述 |
|---|---|
|
函数ST_Point()基于给定的经度和纬度返回一个 Point。 |
|
函数ST_GeogFromText() / ST_GeogFromWKT()返回给定的 WKT 字符串对应的地理空间值。 |
|
函数ST_ASText()返回一个地理空间值对应的 WKT 字符串。 |
|
函数ST_Centroid()返回一个地理空间值的中心点,即形状的几何中心。 |
|
函数ST_ISValid()返回true,如果给定的地理空间值有效,否则返回false。 |
|
函数ST_Intersects()返回true,如果给定的两个地理空间值相交(共享至少一个公共点),否则返回false。 |
|
函数ST_IntersectionPoints()返回两个地理空间值边界交叉点的列表。 |
|
给定两个地理空间值g1和g2。如果g1完全包含g2(即g2的所有点位于g1的内部或边界上),函数ST_Covers(g1,g2)返回true,否则返回false。 |
|
给定两个地理空间值g1和g2。如果g2完全包含g1(即g1的所有点位于g2的内部或边界上),函数ST_CoveredBy(g1,g2)返回true,否则返回false。 |
|
函数ST_DWithin()返回true,如果地理空间值g1中至少一个点与g2中至少一个点之间的距离小于或等于给定的距离阈值,否则返回false。 |
|
函数ST_Distance()返回两个地理空间值之间的最短距离(以米为单位)。 |
|
函数S2_CellIdFromPoint()返回覆盖一个 Point 的 S2 单元 ID。 |
|
函数S2_CoveringCellIds()返回覆盖一个地理空间值的 S2 单元 ID 列表。 |
全文索引函数¶
| 语句 | 描述 |
|---|---|
|
函数ftscore()返回存储在索引属性中的STRING值与给定查询字符串之间的相关性得分。 |
系统信息函数¶
| 语句 | 描述 |
|---|---|
|
函数typeof()返回输入值的类型,支持普通值类型、图元素引用类型和表类型。 |
值表达式¶
聚合表达式¶
| 语句 | 描述 |
|---|---|
|
计算不同值的数量和所有值的总和。 |
|
返回一部电影的所有评分和平均评分。 |
关于聚合函数的更多信息,请参见聚合函数。
变量表达式¶
| 语句 | 描述 |
|---|---|
|
定义变量并返回变量。 |
|
返回点变量和边变量。 |
条件表达式¶
| 语句 | 描述 |
|---|---|
|
基于条件返回不同的值。 |
|
使用coalesce函数返回第一个非NULL值。 |
常量表达式¶
| 语句 | 描述 |
|---|---|
|
返回不同类型的常量值。 |
构造表达式¶
| 语句 | 描述 |
|---|---|
|
构造一个列表。 |
|
构造一个记录。 |
函数表达式¶
| 语句 | 描述 |
|---|---|
|
调用一个有多个入参的函数。 |
|
调用多个函数。 |
|
调用一个无入参的函数。 |
完整的函数列表,请参见函数。
逻辑表达式¶
| 语句 | 描述 |
|---|---|
|
返回逻辑或的结果。 |
|
返回逻辑与的结果。 |
属性表达式¶
| 语句 | 描述 |
|---|---|
|
获取记录的字段。 |
|
获取点和边的属性。 |
子查询表达式¶
| 语句 | 描述 |
|---|---|
|
从子查询中返回单个值。 |
|
从子查询中返回布尔值。 |
类型转换表达式¶
| 语句 | 描述 |
|---|---|
|
将时间值转换为字符串。 |
|
将null值转换为INT16类型的整数。 |
|
将列表中小数转换为INT8类型的整数。 |
|
将由一列小数构成的记录转换为由一列INT32类型的整数构成的记录。 |
匿名表达式¶
| 语句 | 描述 |
|---|---|
|
将匿名函数transform()应用于一个列表。 |
|
将匿名函数filter()应用于一个列表。 |
|
将匿名函数reduce()应用于一个列表。 |
关于匿名函数的更多信息,请参见匿名函数。
谓词¶
比较谓词¶
| 语句 | 描述 |
|---|---|
|
比较字符串。字符串的比较基于 UCA 算法。 |
|
比较布尔值。布尔值的比较基于true大于false的规则。
|
|
比较null值。任何与null值的比较都返回null。
|
|
比较两个列表。如果两个列表具有相同顺序的相同元素,则比较返回true,否则返回false。
|
|
比较时间点值。时间点值的比较基于时间顺序。 |
|
比较时间段值。时间段值的比较基于时间段长短。 |
|
比较两个记录的字段名和值是否相同。如果两个记录具有相同字段和相同字段值,则比较返回true,否则返回false。
|
|
比较两个图元素是否相同。如果两个图元素相同,则比较返回true,否则返回false。
|
|
比较两个路径是否相同。如果两个路径相同,则比较返回true,否则返回false。
|
EXISTS 谓词¶
| 语句 | 描述 |
|---|---|
|
检查点模式是否存在。 |
|
检查边模式是否存在。 |
|
检查子图的匹配是否成功。 |
NULL 谓词¶
| 语句 | 描述 |
|---|---|
|
检查值是否为null。
|
标签谓词¶
| 语句 | 描述 |
|---|---|
|
使用IS LABELED来检查图元素是否具有特定的标签。
|
|
使用冒号:来检查图元素是否具有特定的标签。
|
|
使用IS NOT LABELED检查图元素是否不具备特定的标签。
|
ALL_DIFFERENT 谓词¶
| 语句 | 描述 |
|---|---|
|
检查图元素列表中的所有图元素是否两两不同。 |
SAME 谓词¶
| 语句 | 描述 |
|---|---|
|
检查图元素列表中的所有图元素是否相同。 |
性能调优¶
| 语句 | 描述 |
|---|---|
|
指定选项format = "default"查看优化后的执行计划。 |
|
指定raw查看未优化的逻辑计划。 |
|
指定选项format = "verbose"查看详细的优化执行计划。 |
|
指定raw和format = "verbose"查看未优化的详细逻辑计划。 |
|
执行查询并指定选项format = "default"查看优化后的执行计划。 |
|
执行查询并指定选项format = "verbose"查看详细的优化后的执行计划。 |
数据库管理¶
SHOW¶
| 命令 | 描述 |
|---|---|
|
显示当前服务组中的所有角色。 |
|
显示当前会话的 Schema 下的所有索引的信息。 |
|
显示当前服务组中执行 GQL 语句产生的所有警告。 |
|
显示当前会话中 Graph 服务的所有运行时配置项。 |
|
显示当前会话中指定 Storage 服务的所有运行时配置项。 |
|
显示当前会话中连接的 Graph 服务的指定运行时配置项。 |
|
显示指定 Storage 服务的指定运行时的配置项。 |
|
显示创建特定图的语句。 |
|
显示创建特定图类型的语句。 |
|
显示创建特定过程的语句。 |
|
显示当前会话的主 Schema。 |
|
显示当前用户创建的会话。 |
|
显示当前会话中的日期和时间格式。 |
|
显示当前会话中的图或临时图的信息。 |
|
显示当前会话登录用户的信息。 |
|
返回使用GLOBAL SET或GLOBAL RESET为服务组内所有 Graph 服务设置的配置项。 |
|
返回使用GLOBAL SET或GLOBAL RESET为服务组内所有 Storage 服务设置的配置项。 |
|
显示当前 Catalog 中的所有函数。 |
|
仅显示当前 Catalog 中与指定函数名匹配的函数。 |
|
显示当前 Catalog 中的所有图。 |
|
显示当前 Catalog 中的所有图类型。 |
|
显示当前 Catalog 指定图中创建的索引。 |
|
显示当前服务组中所有运行中的作业。 |
|
显示当前服务组中特定作业。 |
|
显示当前服务组中所有 Storage 服务上的 Leader 副本信息。 |
|
显示当前用户拥有的资源对象信息。 |
|
显示特定用户拥有的资源对象信息。 |
|
显示当前会话中所有用户自定义的参数。 |
|
显示当前服务组中 Storage 服务上所有的分片。 |
|
显示当前服务组中 Storage 服务上所有分片的副本的详细信息。 |
|
显示当前服务组中 Storage 服务上所有 Leader 副本的详细信息。 |
|
显示当前 Catalog 中加载的所有插件。 |
|
显示当前 Catalog 中加载的特定插件信息。 |
|
显示授予特定用户的权限。 |
|
显示包含在特定角色中的权限。 |
|
显示当前 Catalog 中的所有命名过程。 |
|
显示当前 Catalog 中特定命名过程的信息。 |
|
显示当前服务组中 Graph 服务上所有运行中的查询。 |
|
显示授予当前用户的角色。 |
|
显示授予特定用户的角色。 |
|
显示当前 Catalog 中的所有 Schema。 |
|
显示当前服务组中的所有服务。 |
|
显示为当前连接的 Graph 服务设置的配置项。 |
|
显示为指定 Storage 服务设置的配置项。 |
|
显示当前所连接的 Graph 服务所属的服务组的相关信息。 |
|
显示当前服务组中 Meta 服务的信息。 |
|
显示当前服务组中 Graph 服务上所有活跃的会话。 |
|
显示使用SESSION SET或者SESSION RESET为当前连接的会话设置的所有配置项。 |
|
显示指定图的统计信息。 |
|
显示特定图的 TTL 设置信息。 |
|
显示当前安装的悦数图数据库开发版的版本信息。 |
|
显示当前安装的悦数图数据库开发版详细的版本信息。 |
|
显示受邀加入当前服务组的所有用户。 |
|
显示当前会话中上一条 GQL 语句产生的警告。 |
DESCRIBE¶
| 命令 | 描述 |
|---|---|
|
查看图信息 |
|
查看图类型信息。 |
|
查看点类型信息。 |
|
查看边类型信息。 |
KILL¶
| 命令 | 描述 |
|---|---|
|
终止某个查询。 |
|
终止某个会话。 |
CLEAR¶
| 命令 | 描述 |
|---|---|
|
清除当前服务组中执行 GQL 语句产生的特定警告。 |
|
清除当前服务组中执行 GQL 语句产生的所有警告。 |
会话¶
| 命令 | 描述 |
|---|---|
|
设置会话配置项。 |
|
为当前会话设置参数。 |
|
取消当前会话中的时区设置。 |
|
重置会话配置项。 |
|
删除指定会话参数。 |
|
关闭当前会话。 |
|
显示当前用户创建的会话。 |
|
显示当前会话中的日期和时间格式。 |
|
显示当前服务组中 Graph 服务上所有活跃的会话。 |