Planned durable RDF Dataset layer for the Odin semantic ecosystem. This repository currently contains a charter and implementation plan, not a storage engine or a stable public API.
odin-store is deliberately distinct from odin-graph:
odin-rdf RDF terms, syntax, streaming I/O
|
odin-graph bounded in-memory RDF Dataset and immutable indexed views
|
odin-store durable snapshots, atomic commits, recovery, and backend policy
| |
+-------------------------+-- odin-sparql reads a frozen Dataset view
+-- odin-reasoner may import/export a closure
The graph kernel is ready to be a building block, but it is not itself a durable store. Store work begins here only because we now want a place to make the operational contract explicit before implementation.
The proposed first deliverable is intentionally small:
A single-process, single-writer RDF Dataset store that can atomically commit an owned
odin-graphsnapshot and reopen the last committed snapshot after a clean shutdown.
This is a proposal, not an approved API. Before code is written, the next
developer must confirm the durability and crash-recovery promise in
TODO.md. Do not claim crash safety merely because clean reopen
works.
odin-store owns:
- storage directory layout and versioning;
- atomic commit visibility and reopen/recovery behavior;
- corruption, I/O, capacity, and version errors;
- snapshot lifecycle across reopen and replacement; and
- backend-specific operational limits.
It does not own:
- RDF parsing, serialization vocabulary, or term rules (
odin-rdf); - RDF Dataset identity, graph scans, or in-memory query indexes (
odin-graph); - SPARQL parsing, algebra, update semantics, or result encoding (
odin-sparql); - RDFS/OWL inference rules or derivation semantics (
odin-reasoner); - network serving, replication, authentication, backup service, multi-writer isolation, MVCC, or a general database transaction API.
Read these in order:
NEXT_CODEX.md— handoff and first-session procedure.TODO.md— the staged plan and acceptance gates.docs/adr/0001-first-store-contract.md— proposed v0.1 contract and open decisions.- The current sibling repositories:
../odin-graph,../odin-rdf,../odin-sparql,../odin-reasoner, and../odin-garden.
There is deliberately no implementation yet. The first code change should be
made only after P0 in TODO.md is accepted and recorded in the ADR.