Feature overview

Updated at:

Definitions

  • Entity: An operation that queries vertices or edges.

  • map: Maps input objects to other objects based on a specific rule.

  • filter: Filters input objects based on a specific rule.

  • sideEffect: Adds information to input objects based on a specific rule and outputs the same objects.

  • branch: Performs branch calculations on input objects.

  • Modifier: Modifies a single step and is typically used to provide parameters for the step.

  • Function: Provides a function for a single step, such as a comparison function for a filter step.

  • Policy: A customizable policy that users can select.

Feature overview

Note: Steps marked with [*] are proprietary extensions developed by iGraph. All other steps are open source steps from Apache Gremlin.

Type

Step name

Feature

Entity

E

Queries edge information.

inV

Traverses from an edge to an associated vertex.

out

Traverses from a vertex to an associated vertex.

outE

Traverses from a vertex to an associated edge.

V

Queries vertex information.

map

barrier

Blocks.

bulk

Returns the bulk value of an entity.

cap

Returns the stored value of a sideEffect.

constant

Returns a user-defined value.

count

Calculates the count.

fold

Aggregates input objects into a list<object>.

group

Groups.

groupCount

Groups and calculates the count within each group.

identity

Returns the input itself.

label

Returns the table name or graph label.

loops

Returns the number of current loops.

math

Scientific computing

max

Calculates the maximum value.

mean

Calculates the average value.

min

Calculates the minimum value.

order

Sorts.

path

Returns the traversal path.

project

Maps input objects to a map<string,object>.

properties

Returns field names and field values.

propertyMap

Returns a map of field names and field values.

sack

Returns the sack value of an entity.

select

Returns tag values.

sum

Calculates the sum.

unfold

Expands a list<object> into objects.

values

Returns field values.

filter

and

Returns the input if all sub-traversals produce a result.

cap

Returns paths that contain a cycle.

dedup

Removes duplicates.

distinct [*]

Discretizes.

has

Filters entities.

hasKey

Filters by field name.

hasLabel

Filters by label.

hasValue

Filters by field value.

is

Filters by number or string.

limit

Truncates and keeps the first results.

not

Returns the input if the sub-traversal does not produce a result.

or

Returns the input if at least one sub-traversal produces a result.

range

Truncates.

sample

Sampling

simplePath

Returns paths without cycles.

tail

Truncates and keeps the last results.

where

Filters.

sideEffect

aggregate

Copies input objects to a list<object> in a blocking manner.

alias [*]

Defines virtual fields for input entities (vertices or edges).

fields [*]

Clipping field

store

Copies input objects to a list<object> in a non-blocking manner.

branch

branch

Performs a branch query.

choose

Querying branches

coalesce

Returns the computed value from the first input that can compute at least one element.

local

Executes a sub-traversal for each input individually.

optional

If the sub-traversal produces a result, returns the traversal result. Otherwise, returns the input.

repeat

Performs a loop traversal.

union

Merges the results of sub-traversals.

Modifier

as

Annotates.

by

Provides parameters for other steps.

emit

Records the intermediate results of a loop.

indexQuery [*]

Performs an inverted index query.

option

Specifies the condition for a branch query.

times

Specifies the number of loop traversals.

until

Specifies the stop condition for a loop traversal.

withSack

Defines the initial value, split rule, and merge rule for the sack value of an entity.

Function

P

Describes comparison logic.

T

Fetches information from input elements.

UDF [*]

Supports user-defined comparison functions.

Policy

withStrategies

Adds custom policies to a traversal.

PathRecordStrategy

Customizes the information type for path records.

PushDownStrategy

Specifies that the step that gets the sideEffect is pushed down to the storage layer for execution.