You are reading the docs for
v2.0.0. The latest release is
v2.0.4.
Learning Resources
Minigraf Datalog Tutorial#
- Tutorial Series — a hands-on, eleven-section walkthrough of Minigraf's
Datalog dialect, driven by an e-commerce storyline (Corestore). Covers every language
feature from basic transact/query through recursive rules, bi-temporal queries, negation,
aggregation, window functions, prepared queries, disjunction, UDFs, and marketplace
multi-entity scenarios.
Datalog — Further Reading#
Temporal Databases#
- Exploring Temporality in Databases — conceptual deep-dive into transaction time, valid time, bi-temporal models, and beyond; includes an interactive 3D visualisation of the bi-temporal state space
- Temporal Query Types — taxonomy of point-in-time, time-interval, time-point lookup, and time-interval lookup query classes; maps to Minigraf's
:as-of, :valid-at, :any-valid-time, and (Phase 7) :db/valid-from/:db/valid-to pseudo-attributes
- Temporal Database — Wikipedia — overview of transaction time, valid time, and bi-temporal concepts
- XTDB Bitemporality — XTDB's explanation of bi-temporal data; the model Minigraf is most directly inspired by
- Datomic Time Model — Datomic's treatment of immutable history and time travel
SQLite Internals (storage inspiration)#
How this page was assembled
This page is 4 fragments. Minigraf picked them from docs.graph with this query, where the version is a point on the valid-time axis:
(query [:find ?order ?blob ?added :valid-at "2002-01-01T00:00:00Z" :where [?f :frag/page "learning-resources"] [?f :frag/order ?order] [?f :frag/blob ?blob] [?f :frag/added-in ?added]])
Run it in the query console