阿里云首页 智能推荐

功能概览

定义

  • 实体:查询顶点/边的操作

  • map:按照某种规则将输入objects映射成另一个objects

  • filter:按照某种规则对输入objects执行过滤

  • sideEffect:按照某种规则为输入objects添加一些信息,输出依然为这个objects

  • branch:对输入objects执行分支计算

  • 修饰符:修饰单步,一般用于为单步提供参数

  • 函数:一般用于为单步提供函数,如为过滤单步提供比较函数

  • 策略:用户可选的定制化策略

功能概览

备注:[*]标注的为ABFS自研扩展的单步,其他均为Apache Gremlin开源的单步

类型

step名称

功能

实体

E

查询边的信息

inV

从一条边跳转到关联的顶点

join [*]

级联查询

out

从一个顶点跳转到关联的顶点

outE

从一个顶点跳转到关联的边

V

查询顶点的信息

map

barrier

阻塞

bulk

返回实体的bulk值

cap

返回sideEffect的存储值

constant

返回用户自定义的“值”

count

计算数量

fold

将输入objects聚合成list<object>

group

分组

groupCount

分组并计算组内的数量

identity

返回输入自身

label

返回表名或者图label

loops

返回当前循环的次数

math

科学计算

max

计算最大值

mean

计算平均值

min

计算最小值

order

排序

path

返回遍历的路径

project

将输入objects映射成map<string,object>

properties

返回字段名和字段值

propertyMap

返回字段名和字段值的map

sack

返回实体的sack值

select

返回标签值

sum

计算和

unfold

将list<object>展开为objects

values

返回字段值

filter

and

返回“所有子遍历都产生结果”的输入

cap

返回有环的路径

dedup

去重

distinct [*]

打散

fold

过滤实体

has

过滤实体

hasKey

过滤字段名

hasLabel

过滤标签

hasValue

过滤字段值

is

过滤数值或string

limit

截断,保留最前的结果

not

返回“子遍历不能产生结果”的输入

or

返回“至少在一个子遍历能产生结果”的输入

range

截断

sample

采样

simplePath

返回无环的路径

tail

截断,保留最后的结果

where

过滤

sideEffect

aggregate

将输入objects阻塞地拷贝一份list<object>

alias [*]

为输入实体(点或边)定义虚拟字段

fields [*]

裁剪字段

store

将输入objects非阻塞地拷贝一份list<object>

branch

branch

分支查询

choose

分支查询

choose

返回首个至少能计算出一个元素的输入的计算值

local

对每个输入单独执行子遍历

option

如果子遍历能产生结果,则返回遍历结果;否则,返回输入

repeat

循环遍历

unoin

合并子遍历的结果

修饰符

as

打标

by

为其他单步提供参数

emit

记录循环的中间结果

indexQuery [*]

倒排查询

option

指定分支查询的条件

times

指定循环遍历的次数

until

指定循环遍历的终止条件

withSack

为实体的sack值定义初始值、分裂规则和合并规则

函数

P

描述比较逻辑

T

提取输入元素的信息

UDF [*]

支持用户自定义比较函数

策略

withStrategies

为遍历添加定制化策略

PathRecordStrategy

定制路径记录的信息类型

PushDownStrategy

指定获取sideEffect的单步下推至存储层执行