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

Follow a named result

Preserve correlated values

A traversal normally forgets where it has been: after out(...), each row holds only the node it reached. Use bind to name a point in the traversal so each result row keeps a value from it. This request returns one row per service and the workload it routes to:
Bindings are row-local, so each row pairs a workload with the service that reached it rather than joining unrelated paths. Branches can bind optional values and coalesce them during projection; see Project correlated bindings.

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.