# `Gralkor.Graph`
[🔗](https://github.com/elimydlarz/jido_gralkor/blob/main/lib/gralkor/graph.ex#L1)

A complete graph payload supplied to `Gralkor.Client.replace/1`.

`:property_graph` nodes have unique string identifiers, string labels, and
property maps. Relationships identify two supplied nodes, a type, and a
property map.

# `graph_node`

```elixir
@type graph_node() :: %{
  id: String.t(),
  labels: [String.t()],
  properties: properties()
}
```

# `properties`

```elixir
@type properties() :: %{optional(atom() | String.t()) =&gt; term()}
```

# `property_graph`

```elixir
@type property_graph() :: %{nodes: [graph_node()], relationships: [relationship()]}
```

# `relationship`

```elixir
@type relationship() :: %{
  from: String.t(),
  to: String.t(),
  type: String.t(),
  properties: properties()
}
```

# `t`

```elixir
@type t() :: %Gralkor.Graph{data: property_graph(), format: :property_graph}
```

---

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