Skip to main content
Guide
Traversal operations consume the current stream and produce the next stream.

Follow a named result

Preserve correlated values

Use bind when a result row must retain values from multiple points in one traversal: Bind the starting service as service, traverse ROUTES_TO, bind the result as workload, then project both bindings with projectDistinctBindings (or the language-equivalent builder). Bindings are row-local. Branches can bind optional values and coalesce them during projection without joining unrelated paths.

Avoid accidental path growth

  • Filter as close to the source as possible.
  • Use a label on relationship steps when the schema provides one.
  • Add dedup() when multiple paths can reach the same entity.
  • Bound recursive traversal with a maximum depth.
  • Project only the fields needed by the caller.

Next steps

Project response rows

Shape current values and named bindings.

Branch and repeat

Compose optional, union, choose, and repeat operations.