# `JSON.LD.Context.TermDefinition`
[🔗](https://github.com/rdf-elixir/jsonld-ex/blob/v1.0.1/lib/json/ld/context/term_definition.ex#L1)

Implementation of the JSON-LD 1.1 _Create Term Definition Algorithm_.

<https://www.w3.org/TR/json-ld11-api/#create-term-definition>

# `t`

```elixir
@type t() :: %JSON.LD.Context.TermDefinition{
  base_url: nil | String.t(),
  container_mapping: nil | [String.t()],
  direction_mapping: false | nil | :ltr | :rtl,
  index_mapping: nil | String.t(),
  iri_mapping: String.t(),
  language_mapping: false | nil | String.t(),
  local_context: nil | map() | String.t(),
  nest_value: nil | String.t(),
  prefix_flag: boolean(),
  protected: boolean(),
  reverse_property: boolean(),
  type_mapping: false | nil | String.t()
}
```

# `value`

```elixir
@type value() :: map() | String.t() | nil
```

# `create`

```elixir
@spec create(
  JSON.LD.Context.t(),
  map(),
  String.t(),
  value(),
  map(),
  JSON.LD.Options.t(),
  keyword()
) ::
  {JSON.LD.Context.t(), map()}
```

Expands the given input according to the steps in the JSON-LD _Create Term Definition_ algorithm.

# `direction`

# `language`

---

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