kronroe 0.1.1

Embedded temporal property graph database
Documentation

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::TemporalGraph;
use chrono::Utc;

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

// Assert a fact
let id = db.assert_fact("alice", "works_at", "Acme", Utc::now()).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();