Solid Selection Syntax

Dagit and the Dagster CLI support a simple query syntax for selecting a set of solid instances from a pipeline.

It works as follows:

  • A query includes a comma-separated list of clauses. The result is the union of all the solids selected by each clause.
  • A clause can be a solid name, in which case that solid is selected.
  • A clause can be a solid name preceded by '*', in which case that solid and all of its ancestors (upstream dependencies) are selected.
  • A clause can be a solid name followed by '*', in which case that solid and all of its descendents (downstream dependencies) are selected.
  • A clause can be a solid name followed by any number of '+'s, in which case that solid and descendents up to that many hops away are selected.
  • A clause can be a solid name preceded by any number of '+'s, in which case that solid and ancestors up to that many hops away are selected.

Clause examples

  • some_solid: select "some_solid" itself
  • *some_solid: select "some_solid" and all ancestors (upstream dependencies).
  • some_solid*: select "some_solid" and all descendants (downstream dependencies).
  • *some_solid*: select "some_solid" and all of its ancestors and descendants.
  • +some_solid: select "some_solid" and its direct parents.
  • some_solid+++: select "some_solid" and its children, its children's children, and its children's children's children.