Skip to content

Unlocking Temporal Graphs

Most databases have amnesia.

They know what things look like right now. Change something, and the old state is overwritten. The database has no memory of what existed before, no way to ask "what did this look like on the 15th of March?", no record of who made the change or why.

This is fine for most use cases. It's a serious problem when the question you need to answer is historical.



The amnesia problem

Take a simple scenario. An employee's salary changes. In a standard database, the old value is gone. You might have an audit log somewhere — if you were disciplined enough to build one — but reconstructing the full context of why that change happened, who approved it, what the organisational structure looked like at the time, what else was changing in the same period — that's a forensic investigation requiring manual work, multiple systems, and significant time.

Or: a manager leaves. Their team gets redistributed. Six months later, performance metrics shift. Was it the manager? The redistribution? Something else that happened in that same window? Standard reporting has no good answer. The data that would let you reason about it has been overwritten.

Temporal databases solve this by recording not just what things are, but what they were — at any point in time, with full fidelity.


The four dimensions

Aurora's core technical concept is what we call Perfect Memory — a bitemporal model built on four distinct dimensions of time.

Transaction time captures when a change was recorded in the system. This is the system's own memory — the exact moment it became aware of an event.

Valid time captures when a change is effective — which may not be the same as when it was entered. A pay rise effective from the start of the quarter, entered a week later. An employment backdated to the correct start date. Valid time lets you represent the reality of business, not just the reality of data entry.

Decision time captures the business point in time the data itself refers to — the moment the decision was made, not when it was logged.

Query time captures when you're looking at the data. This is the one that makes reports repeatable: fix the query time and run the same report twice, you'll get the same answer. Without this, historical analysis is unreliable — the data might have been corrected, backdated, or updated between runs.

Four dimensions. Each one solving a different failure mode of conventional databases.


The graph dimension

The temporal model gives you perfect memory. The graph model gives you the ability to reason about what that memory contains.

Relationships in organisations are not simple. An employee reports to a manager, who leads a project, which is governed by a policy, which was approved by a committee. When something changes anywhere in that chain, the ripple effects move through the graph. A standard relational database flattens this into join tables. A graph database models it natively — relationships are first-class citizens.

Combine temporal precision with graph traversal and you get something qualitatively different from either system alone.

You can ask: not just "who reported to this manager," but "who reported to this manager, during this specific period, when this policy was in effect, and what changed immediately before and after?"

That's the query that forensic investigation, compliance analysis, and root cause detection require. It's the query that was previously only possible through hours of manual reconstruction across multiple systems.


What becomes possible

The practical outputs are things organisations struggle with routinely.

Audit trails that actually work. Not log files that record changes happened, but temporal queries that reconstruct the complete state of any entity at any moment, with full context — who, what, when, and why.

Repeatable historical reporting. Fix a query time and a valid time, run the same report next month, get the same answer. This sounds basic. It isn't available in most systems.

Pattern detection across time. Not "what is the correlation today" but "what correlation has been consistent across the last eighteen months, and when did it first appear?"

Ripple effect mapping. When a change happens — a promotion, a policy, a restructuring — trace its effects through the relationship graph across time. Not just immediate consequences, but second and third order.


The infrastructure question

The question organisations face is not usually "do we need this?" — once they understand what temporal graphs can do, the answer is obvious. The question is "can we build it, or do we need to buy it?"

Building a bitemporal graph database correctly is genuinely hard. The four-dimension model, the query engine that reasons across all four simultaneously, the AI layer that makes it queryable in plain language — these are not weekend projects.

Aurora is the infrastructure that makes temporal graph analytics accessible without requiring the organisation to solve those problems from scratch. The graph is Neo4j. The temporal model is proven. The AI layer translates human questions into queries that would otherwise require a specialist to write.

The unlock is not the technology — it's the access to what the technology makes possible.


Part of the Xorcery AAA product suite — temporal analytics and AI intelligence infrastructure built by eXOReaction.

This post is part of the AI-Augmented Development series.


Series: Aurora & Temporal Analytics

← Aurora: Answering Why  ·  Part 3 of 5  ·  From Data to Action: The Alchemy and Aurora Stack →