Skip to main content

Crate kronroe

Crate kronroe 

Source
Expand description

Kronroe — embedded temporal property graph database.

The core primitive is a Fact: a subject-predicate-object triple augmented with bi-temporal metadata (valid time + transaction time).

Valid time (valid_from / valid_to) captures when something was true in the world. Transaction time (recorded_at / expired_at) captures when we learned it was true. The engine enforces both — they are not application-level properties.

§Quick start

use kronroe::{KronroeTimestamp, TemporalGraph};

let db = TemporalGraph::open("my-graph.kronroe").unwrap();

// Assert a fact
let id = db
    .assert_fact("alice", "works_at", "Acme", KronroeTimestamp::now_utc())
    .unwrap();

// Query current state
let facts = db.current_facts("alice", "works_at").unwrap();

// Point-in-time query
let past = "2024-03-01T00:00:00Z".parse().unwrap();
let facts_then = db.facts_at("alice", "works_at", past).unwrap();

Structs§

Fact
The core primitive: a bi-temporal subject-predicate-object triple.
FactId
FixedClock
KronroeSpan
KronroeTimestamp
SystemClock
TemporalGraph
Kronroe temporal property graph database.

Enums§

FactIdParseError
KronroeError
Value
The value stored in a fact’s object position.

Traits§

KronroeClock

Functions§

default_clock

Type Aliases§

Result