Bitemporal Data: Theory and Practice - Tritemporality

Hello, I was watching the State of XTDB talk given at Clojure Conj 2023. The ‘Ramping up’ slide at 7:57 features Tom Johnston’s Bitemporal Data Theory and Practice. Is there consideration for supporting tritemporality in XTDB as described by Johnston?

  • State time AKA appearance time, valid time among others
  • Speech act time AKA assertion time
  • Inscription time AKA transaction time, system time among others
1 Like

Hi @bsand :slight_smile:

It’s a very interesting question…we’ve not come across a situation that truly demanded a third time dimension ourselves yet, although I don’t doubt genuine use cases do exist. So it’s not been a priority to think about / work on.

Have you seen the need for a distinct “speech act time” dimension in your own experience?

I, for one, would be very grateful to hear anecdotes from the industries you’ve worked within.


@refset I have no prior experience in temporal relational design. I am working on a project where slowly changing dimensions was originally proposed as a data management pattern, and then I came across Johnston’s work as well as Snodgrass’. After reading more I decided that a bitemporal system at the least is suitable for our business requirements.

We are working on a project/portfolio management system where the decision time of governance tasks e.g. when was it decided this staff person would be allocated to a budget vs. when that was recorded in the system.

Still working on conclusively deciding if we have a need to answer questions that use that dimension. Implementing even a bitemporal model with our stack (FastAPI, PostgreSQL) is already seeming a challenge enough.

1 Like

Interesting & thank you for the summary, that’s really useful to know. Please let us know if we can help in some way! (and feel free to reach out directly, if only to chat / swap ideas)