Skip to content

crapthings/odin-store

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 

Repository files navigation

odin-store

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

Current decision

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-graph snapshot 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.

Responsibilities

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.

Starting point

Read these in order:

  1. NEXT_CODEX.md — handoff and first-session procedure.
  2. TODO.md — the staged plan and acceptance gates.
  3. docs/adr/0001-first-store-contract.md — proposed v0.1 contract and open decisions.
  4. The current sibling repositories: ../odin-graph, ../odin-rdf, ../odin-sparql, ../odin-reasoner, and ../odin-garden.

Repository status

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.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors