# `Gno.Commit`
[🔗](https://github.com/rdf-elixir/gno/blob/v0.1.0/lib/gno/commit.ex#L1)

The result of a successful commit operation.

Created during the prepare step of the `Gno.Commit.Processor` pipeline.
The commit's `__id__` is a UUID-based IRI generated automatically.

## Fields

- `time` — `DateTime` when the commit was created (`prov:endedAtTime`)
- `changeset` — the `Gno.EffectiveChangeset` that was applied

# `t`

```elixir
@type t() :: %Gno.Commit{
  __additional_statements__: term(),
  __id__: term(),
  changeset: term(),
  time: term()
}
```

# `build`

# `build`

# `build!`

# `build!`

# `build_id`

# `from`

```elixir
@spec from(Grax.Schema.t()) :: {:ok, t()} | {:error, any()}
```

# `from!`

```elixir
@spec from!(Grax.Schema.t()) :: t()
```

# `load`

```elixir
@spec load(
  RDF.Graph.t() | RDF.Description.t(),
  RDF.IRI.coercible() | RDF.BlankNode.t(),
  opts :: keyword()
) :: {:ok, t()} | {:error, any()}
```

# `load!`

```elixir
@spec load!(
  RDF.Graph.t() | RDF.Description.t(),
  RDF.IRI.coercible() | RDF.BlankNode.t(),
  opts :: keyword()
) :: t()
```

# `new`

Creates a new commit from an `Gno.EffectiveChangeset` or keyword arguments.

Automatically generates a UUID-based commit ID and sets the timestamp.

# `new!`

# `validate`

---

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