# Artefact v0.2.0 - Table of Contents

Arrows JSON ↔ Cypher — knowledge graph fragments made in relationship

## Pages

- [Artefact](readme.md)
- [Changelog](changelog.md)
- [Migration: artefact 0.1.x → 0.2.0](migration.md)
- [License (MIT)](mit.md)

## Modules

- [Artefact](Artefact.md): A knowledge graph fragment — a small, self-contained piece of knowledge
expressed as a property graph.
- [Artefact.Arrows](Artefact.Arrows.md): Encode and decode between `%Artefact{}` and Arrows JSON.
- [Artefact.Binding](Artefact.Binding.md): A declared equivalence between nodes across two artefacts.
- [Artefact.Cypher](Artefact.Cypher.md): Derives Cypher from an `%Artefact{}`.
- [Artefact.Error](Artefact.Error.md): Splode root for Artefact errors.
- [Artefact.Graph](Artefact.Graph.md): The property graph inside an `%Artefact{}` — a list of nodes and relationships.
- [Artefact.Mermaid](Artefact.Mermaid.md): Derives Mermaid diagram source from an `%Artefact{}`.
- [Artefact.Node](Artefact.Node.md): A node in an `%Artefact{}` graph.
- [Artefact.Op](Artefact.Op.md): Implementation home for Artefact operations.
- [Artefact.Relationship](Artefact.Relationship.md): A directed relationship between two nodes in an `%Artefact{}` graph.
- [Artefact.Validator](Artefact.Validator.md): Validates `%Artefact{}` structs against the structural rules
documented in `Artefact`.

- Exceptions
  - [Artefact.Error.Invalid](Artefact.Error.Invalid.md): Validation rule violations on an `%Artefact{}`.
  - [Artefact.Error.Operation](Artefact.Error.Operation.md): Op-specific outcomes that prevent an operation from proceeding even
when its inputs are valid.
  - [Artefact.Error.Unknown](Artefact.Error.Unknown.md): Catch-all for errors that don't match any known Artefact error class.

