# Build command examples

## Using the plus (+) operator

### Select a specific model

Select `model_1`

only.

Directed acyclic graph (DAG).

### Select all downstream assets

Select `model_1`

and all of its downstream dependencies.

Directed acyclic graph (DAG).

### Select all upstream assets

Select `model_2`

and all of its upstream dependencies.

Directed acyclic graph (DAG).

### Select all upstream and downstream assets

Select `model_1`

and all of its upstream and downstream dependencies.

Directed acyclic graph (DAG).

## Using set operators

### Unions

Running `y42 build`

with a whitespace-separation between options selects the union of all the options provided. All assets that fulfill the selection criteria for at least one option are selected.

### Intersections

On the other hand, running `y42 build`

with a comma-separation between options without whitespaces selects the intersection of all the options provided. Only assets that fulfill the selection criteria for all options are selected.

## Combining flags and operators

### Select the intersection of two options

Select assets that are upstream from `model_3`

(inclusive) but also downstream from `model_1`

(inclusive).

Directed acyclic graph (DAG).

### Select and exclude assets simultaneously

Select all upstream and downstream assets from `model_1`

but exclude a specified source, `src_shopify`

Directed acyclic graph (DAG).

## Other operators

### Select assets that are N edges away

Select `src_shopify`

and assets that are up two 2 edges away.

Directed acyclic graph (DAG).

### Select an asset's children and all the parents of its children

Select `src_hubspot`

and all of its children, plus all the upstream assets of its children

Directed acyclic graph (DAG).