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.

Jeremy

@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 jdt@juxt.pro, if only to chat / swap ideas)