# `Grax.Schema`
[🔗](https://github.com/rdf-elixir/grax/blob/v0.6.1/lib/grax/schema.ex#L1)

A special type of struct for graph structures whose fields are mapped to RDF properties and
the types of values can be specified.

For now there is no API documentation.
Read about schemas in the guide [here](https://rdf-elixir.dev/grax/schemas.html).

# `t`

```elixir
@type t() :: struct()
```

# `field`
*macro* 

# `inherited_from?`

```elixir
@spec inherited_from?(module() | struct(), module()) :: boolean()
```

Checks if the given `Grax.Schema` or `Grax.Schema` struct is inherited from another `Grax.Schema`.

# `known_schemas`

```elixir
@spec known_schemas() :: [module()]
```

Returns all modules using `Grax.Schema`.

# `link`
*macro* 

# `link`
*macro* 

# `property`
*macro* 

# `property`
*macro* 

# `schema`
*macro* 

# `schema?`

```elixir
@spec schema?(module() | struct()) :: boolean()
```

Checks if the given module or struct is a `Grax.Schema`.

# `struct?`

```elixir
@spec struct?(any()) :: boolean()
```

Checks if the given value is a `Grax.Schema` struct.

---

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