定义
实体:查询顶点/边的操作
map:按照某种规则将输入objects映射成另一个objects
filter:按照某种规则对输入objects执行过滤
sideEffect:按照某种规则为输入objects添加一些信息,输出依然为这个objects
branch:对输入objects执行分支计算
修饰符:修饰单步,一般用于为单步提供参数
函数:一般用于为单步提供函数,如为过滤单步提供比较函数
策略:用户可选的定制化策略
功能概览
备注:[*]标注的为iGraph自研扩展的单步,其他均为Apache Gremlin开源的单步
类型 | step名称 | 功能 |
实体 | 查询边的信息 | |
从一条边跳转到关联的顶点 | ||
从一个顶点跳转到关联的顶点 | ||
从一个顶点跳转到关联的边 | ||
查询顶点的信息 | ||
map | 阻塞 | |
返回实体的bulk值 | ||
返回sideEffect的存储值 | ||
返回用户自定义的“值” | ||
计算数量 | ||
将输入objects聚合成list<object> | ||
分组 | ||
分组并计算组内的数量 | ||
返回输入自身 | ||
返回表名或者图label | ||
返回当前循环的次数 | ||
科学计算 | ||
计算最大值 | ||
计算平均值 | ||
计算最小值 | ||
排序 | ||
返回遍历的路径 | ||
将输入objects映射成map<string,object> | ||
返回字段名和字段值 | ||
返回字段名和字段值的map | ||
返回实体的sack值 | ||
返回标签值 | ||
计算和 | ||
将list<object>展开为objects | ||
返回字段值 | ||
filter | 返回“所有子遍历都产生结果”的输入 | |
返回有环的路径 | ||
去重 | ||
distinct [*] | 打散 | |
过滤实体 | ||
过滤字段名 | ||
过滤标签 | ||
过滤字段值 | ||
过滤数值或string | ||
截断,保留最前的结果 | ||
返回“子遍历不能产生结果”的输入 | ||
返回“至少在一个子遍历能产生结果”的输入 | ||
截断 | ||
采样 | ||
返回无环的路径 | ||
截断,保留最后的结果 | ||
过滤 | ||
sideEffect | 将输入objects阻塞地拷贝一份list<object> | |
alias [*] | 为输入实体(点或边)定义虚拟字段 | |
fields [*] | 裁剪字段 | |
将输入objects非阻塞地拷贝一份list<object> | ||
branch | 分支查询 | |
分支查询 | ||
返回首个至少能计算出一个元素的输入的计算值 | ||
对每个输入单独执行子遍历 | ||
如果子遍历能产生结果,则返回遍历结果;否则,返回输入 | ||
循环遍历 | ||
合并子遍历的结果 | ||
修饰符 | 打标 | |
为其他单步提供参数 | ||
记录循环的中间结果 | ||
indexQuery [*] | 倒排查询 | |
指定分支查询的条件 | ||
指定循环遍历的次数 | ||
指定循环遍历的终止条件 | ||
为实体的sack值定义初始值、分裂规则和合并规则 | ||
函数 | 描述比较逻辑 | |
提取输入元素的信息 | ||
UDF [*] | 支持用户自定义比较函数 | |
策略 | 为遍历添加定制化策略 | |
定制路径记录的信息类型 | ||
指定获取sideEffect的单步下推至存储层执行 |