Bitemporal Data

Bitemporal data tracks information along two independent timelines: when a fact was true in the world, and when it was recorded in the system.

What is bitemporal data?

Bitemporal data is information that is tracked along two independent dimensions of time at once:

  • Valid time — the period during which a fact is (or was) actually true in the real world.
  • Transaction time (sometimes called system or decision time) — the period during which the system believed that fact to be true, i.e. when it was recorded, corrected, or superseded.

Keeping both timelines allows a system to answer not only “what is true now?” but also “what was true on a given date?” and “what did we believe was true at the time we made a decision?”. These are very different questions, and conflating them is a common source of error in conventional databases that store only the latest value.

Valid time vs. transaction time

Consider an employee’s salary. Suppose a raise takes effect on the 1st of January, but it is only entered into the system on the 15th of January (and back-dated):

  • The valid time of the new salary begins on the 1st of January, because that is when it became true in the world.
  • The transaction time of the new salary begins on the 15th of January, because that is when the system first knew about it.

Because these two timelines are recorded separately, you can reconstruct the database exactly as it appeared on the 10th of January (showing the old salary, since the raise had not yet been entered) as well as the corrected history (showing the new salary as effective from the 1st). This ability to reproduce a past state of belief is invaluable for auditing, regulatory compliance, debugging, and reproducible analytics.

Why does bitemporality matter?

  • Auditability: you can prove what information was available when a decision was made, which is essential in regulated industries such as finance and healthcare.
  • Correctness over time: late-arriving data and retroactive corrections can be modeled honestly, rather than silently overwriting history.
  • Reproducibility: analyses and reports can be re-run against the exact data that existed at the relevant point in time.
  • Provenance: bitemporal records pair naturally with metadata describing where each fact came from and how confident we are in it.

Bitemporal data in HASH

Every entity in HASH is stored bitemporally. As the world changes and as data is ingested, corrected, or re-evaluated, HASH retains the full history along both timelines rather than discarding earlier states. This means a HASH knowledge graph is not just a snapshot of current beliefs but a complete, queryable record of how those beliefs evolved — a property that becomes especially powerful when grounding AI systems, since you can always trace back to exactly what was known, and when.

Create a free account

Sign up to try HASH out for yourself, and see what all the fuss is about

By signing up you agree to our terms and conditions and privacy policy