# `RDF.Query.BGP`
[🔗](https://github.com/rdf-elixir/rdf-ex/blob/v3.0.1/lib/rdf/query/bgp.ex#L1)

A struct for Basic Graph Pattern queries.

See `RDF.Query` and its functions on how to construct this query struct and
apply it on `RDF.Graph`s.

# `t`

```elixir
@type t() :: %RDF.Query.BGP{triple_patterns: triple_patterns()}
```

# `triple_pattern`

```elixir
@type triple_pattern() ::
  {subject :: variable() | RDF.Star.Statement.subject(),
   predicate :: variable() | RDF.Star.Statement.predicate(),
   object :: variable() | RDF.Star.Statement.object()}
```

# `triple_patterns`

```elixir
@type triple_patterns() :: [triple_pattern()]
```

# `variable`

```elixir
@type variable() :: String.t()
```

# `variables`

```elixir
@spec variables(any()) :: [atom()]
```

Return a list of all variables in a BGP.

---

*Consult [api-reference.md](api-reference.md) for complete listing*
