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
- Fixed
Clock - Kronroe
Span - Kronroe
Timestamp - System
Clock - Temporal
Graph - Kronroe temporal property graph database.
Enums§
- Fact
IdParse Error - Kronroe
Error - Value
- The value stored in a fact’s object position.