前缀词可以写在某个链式查询语句之前、或整个 UQL 语句之前,用于扩展查询功能、或实现查询之外的功能。UQL 目前支持以下前缀词:
前缀词 |
解释 | 作用域 |
---|---|---|
TRY | 检查当前创建图集、schema、属性的语句的结果,屏蔽创建失败时的报错(见《图集|模式|属性》章节的示例) | 当前 create() 语句 |
OPTIONAL | 检查当前链式查询语句的每一次子查询,对无结果的子查询返回 null 作为结果中的点、边(见各查询命令的示例) |
当前链式查询 |
EXPLAIN | 不执行 UQL 语句,仅返回语句间(链式查询、子句)的执行逻辑 | 整个 UQL 语句 |
PROFILE | 执行 UQL,返回语句间(链式查询、子句)的执行逻辑与每个语句的耗时(time_cost) | 整个 UQL 语句 |
DEBUG | 执行 UQL,返回每个执行步骤的调用次数(call_time)与耗时(time_cost) | 整个 UQL 语句 |
EXEC TASK | 执行 UQL,将语句发送至分析节点(见《任务》-《分析节点》) | 整个 UQL 语句 |
前缀词均为大小写不敏感。
EXPLAIN
explain n({@movie} as movies).e({@filmedIn}).n({@country.name == "US"}) as paths
group by movies.genre
return movies.genre, count(movies)
PROFILE
profile n({@movie} as movies).e({@filmedIn}).n({@country.name == "US"}) as paths
group by movies.genre
return movies.genre, count(movies)
DEBUG
debug n({@movie} as movies).e({@filmedIn}).n({@country.name == "US"}) as paths
group by movies.genre
return movies.genre, count(movies)