Asset selection syntax reference
This page contains a full list of the filters, layers, operands, and functions you can use to construct your own asset selection queries. For a list of common queries, see "Asset selection examples".
Filters
Filters allow you to narrow your asset selection using specific criteria.
| Filter | Syntax | Description | Supported views |
|---|---|---|---|
| Key (exact) | key:"my_asset" | Selects assets with the exact key my_asset. | OSS, Dagster+, Dagster+ branch deployments |
| Key with one wildcard | key:"prefix_*" | Selects assets whose key starts with prefix. | OSS, Dagster+, Dagster+ branch deployments |
| Key with multiple wildcards | key:"prefix_*_middlefix_*_suffix" | Selects assets whose key starts with prefix, contains middlefix, and ends with suffix. | OSS, Dagster+, Dagster+ branch deployments |
| Tag (exact) | tag:"stage" | Selects assets tagged with stage. | OSS, Dagster+, Dagster+ branch deployments |
| Tag (with value) | tag:"stage"="value" | Selects assets tagged with stage having a specific value. | OSS, Dagster+, Dagster+ branch deployments |
| Owner | owner:"alice" | Selects assets owned by alice. | OSS, Dagster+, Dagster+ branch deployments |
| Group | group:"team1" | Selects assets in the group team1. | OSS, Dagster+, Dagster+ branch deployments |
| Kind | kind:"table" | Selects assets of kind table. | OSS, Dagster+, Dagster+ branch deployments |
| Code location | code_location:"repo1" | Selects assets located in code location repo1. | OSS, Dagster+, Dagster+ branch deployments |
| Column tag | column_tag: "my_tag" | Selects assets tagged with my_tag. | Dagster+ only |
| Columns | columns: "my_column" | Selects assets with a column named my_column. | Dagster+ only |
| Table name | table_name: "my_table" | Selects assets with a table named my_table. | Dagster+ only |
Only the key filter supports wildcard matching.
changed_in_branch filter
The changed_in_branch filter selects assets that have been changed for a specific reason in a specific branch. The reason can be one of ANY, CODE_VERSION, DEPENDENCIES, METADATA, NEW, PARTITIONS_DEFINITION, or TAGS.
The changed_in_branch filter is only available in Dagster+ branch deployments.
| Reason | Syntax | Description |
|---|---|---|
ANY | changed_in_branch: "ANY" | Selects any assets changed in the branch. |
CODE_VERSION | changed_in_branch: "CODE_VERSION" | Selects assets whose code version changed in the branch. |
DEPENDENCIES | changed_in_branch: "DEPENDENCIES" | Selects assets whose dependencies changed in the branch. |
METADATA | changed_in_branch: "METADATA" | Selects assets whose metadata has changed in the branch. |
NEW | changed_in_branch: "NEW" | Selects assets that are new in the branch. |
PARTITIONS_DEFINITION | changed_in_branch: "PARTITIONS_DEFINITION" | Selects assets whose partitions definition has changed in the branch. |
TAGS | changed_in_branch: "TAGS" | Selects assets whose tags have changed in the branch. |
Upstream and downstream layers
Filtering by upstream and downstream layers can help you understand the data flow within your assets.
- Upstream assets provide input to a given asset.
- Downstream assets receive input from a given asset.
- A layer is a level of connection in the graph. One layer up or down means a direct connection, "two layers" means connections two steps away, and so on.
| Asset selection | Syntax | Description |
|---|---|---|
| All layers upstream of an asset | +key:"my_asset" | Selects all upstream assets that provide input into my_asset. |
| One layer upstream of an asset | 1+key:"my_asset" | Selects assets that directly provide input to my_asset. |
| Two layers upstream of an asset | 2+key:"my_asset" | Selects assets two steps upstream from my_asset. |
| All layers downstream of an asset | key:"my_asset"+ | Selects all downstream assets that depend on my_asset. |
| One layer downstream of an asset | key:"my_asset"+1 | Selects assets that directly receive input from my_asset. |
| Two layers downstream of an asset | key:"my_asset"+2 | Selects assets two steps downstream from my_asset. |
| One layer upstream and downstream of an asset | 1+key:"my_asset"+1 | Selects one layer of assets providing input to and receiving input from my_asset. |
| Two layers upstream and downstream of an asset | 2+key:"my_asset"+2 | Selects two layers of assets providing input to and receiving input from my_asset. |
| All layers upstream and downstream of an asset | +key:"my_asset"+ | Selects all assets upstream and downstream of my_asset. |
Operands and grouping
You can combine multiple filters with operands and group them with parentheses to further refine your asset selection:
| Operand | Syntax | Description |
|---|---|---|
and | owner:"alice" and kind:"dbt" | Selects assets owned by alice of kind dbt. |
or | owner:"billing" or owner:"sales" | Selects assets owned by either billing or sales. |
not | not tag:"obsolete" | Excludes assets tagged with obsolete. |
Grouping () | (owner:"alice" or group:"analytics") and kind:"table" | Symbols ( and ) used to group expressions and control the order of evaluation in queries. This example selects assets that are both owned by alice and of kind table, or that belong to the analytics group. |
Functions
You can use roots(selection) and sinks(selection) functions to return the sink or root assets of an asset selection.
-
Root assets are assets that have no upstream dependencies within the asset selection. Root assets can have upstream dependencies outside of the asset selection.
-
Sink assets are assets that have no downstream dependencies within the asset selection. Sink assets can have downstream dependencies outside of the asset selection.
| Example | Description |
|---|---|
roots(*) | Select all assets without any upstream dependencies. |
sinks(*) | Select all assets without any downstream dependencies. |
roots(group:"public_data") | Selects root assets within the public_data group. |
sinks(group:"public_data") | Selects sink assets within the public_data group. |
roots(+group:"public_data") | Selects all root assets that feed into the public_data group. |
sinks(group:"public_data"+) | Selects all sink assets that depend on assets in the public_data group. |