If you've ever tried to debug a network outage with only a snapshot of the current configuration, you know the frustration. You can see how things are, but not how they got there.
Most systems that manage infrastructure data keep only the latest version of the truth. Yesterday's routes, last week's VLAN definitions, or the previous ACL are nowhere to be seen.
A temporal graph changes that. It makes time part of your data model, letting you move backward and forward through your infrastructure's history.
Instead of overwriting what used to be true, a temporal graph records every change and connects it to the state that came before. That small shift—from replacing to recording— unlocks an entirely different way to manage infrastructure.
The problem with "now" in data management
Most databases are built for immediacy. When a switch configuration or device attribute changes, the old value is overwritten.
From a database perspective, that's efficient. Keeping fewer records and less data means a smaller database size over time.
But from the perspective of an automation engineer, it's a liability. Deleting data creates gaps in the record that makes managing and automating infrastructure harder.
When a rollout breaks connectivity, you can't reconstruct the exact configuration that was working yesterday. When the network drifts from design intent, you see the current state but can't query what the network looked like at any earlier point in time
Infrastructure isn't static yet our typical data models pretend it is. Temporal graphs bring network change back into the data picture.
What a temporal graph really does
Think of a knowledge graph as a map showing every device, service, and relationship in your environment.
A temporal graph adds a timeline to that map. Every node and relationship knows not only what it connects to, but when that connection was valid.

That means you can query your infrastructure as it existed at any moment:
- "Show me the topology before we deployed version 2 of the automation pipeline."
- "Highlight every interface that changed between Tuesday and Thursday."
Instead of relying on change logs or diffs, the history lives in the data itself. You're storing both the facts and their evolution.
Temporal graph vs. change logs
A change log is sometimes confused for a temporal graph but the two are fundamentally different and solve different problems.
A change log records events: what changed, when, and by whom. It's a sequential record of operations like inserts, updates, and deletes, and it's genuinely useful for auditing. You can scroll back through it and see that a BGP neighbor was removed on Wednesday, or that a VLAN definition was updated last month.
But a change log doesn't give you a picture. If you want to know what your network looked like last Tuesday, you can't query that directly. You'd have to start from some earlier snapshot, collect every change that happened between then and Tuesday, apply them in order, and reconstruct the state yourself.
A temporal graph does something different. Instead of just storing the operations, it stores the resulting state at every point in time as directly queryable data. So you can ask, "What did my network look like on Tuesday at 2pm?"and get a complete, immediate answer.
The distinction between a temporal graph and a change log makes a big difference in operational flow. With a temporal graph, debugging a production issue or validating a rollback starts with a single query. There's no reconstruction or piecing together required. That kind of investigative ease and speed is critical for managing network automation at any kind of scale.
The power of immutability
A temporal graph is built on a simple but radical idea: immutability. Immutable data is data that never changes and never dies. Once it's written, it's stored forever.
When something changes—a route update, a device replacement, a schema tweak—the new information is added to the graph as a separate, time-stamped node. The old version remains untouched.
Immutability gives infrastructure engineers three major advantages.
First, it makes the record trustworthy. You know that yesterday's data is exactly what was true yesterday, unedited by later changes.
Second, it makes cause and effect traceable. You can follow a configuration's path from its creation through every revision.
Third, it stops teams from tripping over each other. When past states are immutable, parallel updates can coexist safely without overwriting each other's work.
Multiple timelines at once
Immutability is what makes a temporal graph possible. Instead of overwriting state, every change is preserved as part of a continuous timeline.
Infrahub extends that model further, into what's called a multi-temporal graph, where multiple independent timelines can exist simultaneously.
This multi-temporal capability means Infrahub can create independent and isolated branches without having to copy the entire data set into each branch. The branches share the same immutable baseline and only record what diverges.
This makes branches in Infrahub fast to create and lightweight to maintain, meaning you can have hundreds of branches open simultaneously without any performance lag.
Why temporal graphs matter
Temporal graphs have the power to change how automation teams operate.
At a practical level, they deliver the kind of traceability engineers have wanted for years: the ability to query exactly what your infrastructure looked like at any point in the past.
Because each version is immutable, you can test automation workflows, model upgrades, or validate schema changes against historical states. Rollbacks are precise and fast: revert to any previous state, not a backup from days ago.
But the deeper value is perspective. Over time, your data becomes a living record of the network's evolution, explaining not just where you are but how you got there.

Instead of a black box of data that no one wants to touch or use, you've got a trusted data foundation that can power any downstream automations or AI workflows.
Temporal graphs turn infrastructure state into institutional memory, a repository of knowledge that strengthens with every update instead of fading over time.
Temporal graphs in practice for automation
Infrahub takes the temporal graph and makes it fully operational for infrastructure data.
Every update in Infrahub is stored as a discrete, immutable value on the infrastructure graph. Instead of overwriting data, each change is appended to the timeline, so you can query the exact state of your infrastructure at any point in the past.
Infrahub also captures data lineage, also known as metadata, about what changed, when, and by whom. This gives you a complete audit trail that doesn't exist in a standard temporal graph implementation.
By the way, the graph model makes this kind of metadata naturally expressible. Rather than adding new tables and joins to capture context about a change, you simply add nodes. Who made the change, what triggered it, and how it relates to other changes in the graph are all first-class data, stored the same way everything else is.
Because Infrahub supports Git-like workflows, the history is built in natively, not bolted on. You branch at the data layer, not in code or configuration files.
One team can model a new topology while another tests automation logic, each in its own branch, all sharing the same underlying truth. When ready, you merge those branches just as you would in Git, preserving the full record of what changed, who changed it, and when.

Temporal awareness also powers Infrahub's diff view. Because every change is recorded with a timestamp, you can compare the state of your infrastructure at any two points in time. Combined with Infrahub's schema-driven design, this makes change auditable, reversible, and safe.
Controlling time is the ultimate power
Infrastructure management has always been about control: controlling change, risk, and complexity. Temporal graphs add one more kind of control: the control of time.
By preserving every state instead of overwriting it, you gain the power to understand your infrastructure not just as it is, but as it was and how it got there.
Infrahub builds that power directly into its core with an immutable, temporal knowledge graph. Every change, every branch, every merge keeps the story intact.
Don't overwrite your infrastructure history. Let it guide you instead