Memory is all about time …
I am blogging a lot about time and Knowledge Graphs. Quick overview of how to capture dynamic and temporal graphs you could read
I am more focused on modeling AI agent memory and mimicking episodic and semantic memory of the human brain. I also describe this challenge in detail here.
I even see the entire graph evolution in a prism of temporal context and turning time as a first-class citizen with temporal and event graphs.
Time is a complex topic, the same as episodic memory in a human brain that captures complex experiences with temporal context. We have an operational episodic memory buffer where the journey of episodic memories begins, but it deserves a separate article.
State, Events, Time
We should decompose temporal graphs and a few foundational concepts to move forward. It also depends on your desire and needs — what you want to model and capture in a graph.
We have a few options
- changes in a graph structure over time. So, it is about state
 - events and episodes and data. Events are used to model complex system interactions and changes in a system. These events could be subject related to data encoded in a graph or about graph changes itself
 - Time context or time as an entity. We have multiple domains where time is a domain entity, such as scheduling, planning, etc. We have a lot of focused foundational ontologies
 
In this article, we will focus more on changes in a graph that captures the state of changing AI memory for an agent.
We could model changes in a graph entity as a sequence pattern of ordered states.
So, we decouple entity and entity states to a separate node and create relations between them that encode time.

So, we have relations that encode a sequence and current state with simple relations
- next
 - Prev
 - current
 
We could also model the entity lifetime as a unique state for removal
Important note: We create a relation between states of entities, not between entities themselves. so every state carries current set of relations and node attributes

We manage to capture changes in a graph only with state changes without temporal context.
We could introduce a new kind of entity that describes change events.

So, an event could connect one entity with the state. We could have a hierarchical structure of events that is connected to individual entity changes events and form a tree-like structure that describes complex changes in a graph. We also could have events that change multiple entities at the same time.

Now, we decouple events and states and could have complex and even conditional relations between them.
We still have no concept of time but we could operate with events. Events could also have a relation that describe not only changes of entities but related entities that encode actors , orjects and location.
Most interesting part we could use a time as entities also

Time modeling
You don't need to model time yourself
it gives a fundamental ontology for time

but nobody limits you from modeling time with time stamp properties.
Time as sequence
We could use a sequence and relation to order events.
Time as Lamport clock
We could also get inspiration from a decentralized and hybrid clock system and introduce a global Lamport clock that encodes time as a monotonically growing integer, or we could even have local and entity-specific clocks that capture changes and time relations. This local entity clock could be in sync with a global graph clock, depending on use cases.
Time aware Embeddings
In my previous article I also over vector clocks that have a separate Lamport clocks for different properties or different time dimensions
We also could have unique models that have their own time encoding and ode embeddings that have time embedded.
AI Agent memory
Now, we decode memory states, events, and time. We could go far and model a few representations of time that could be domain-specific and allow us to model complex AI agent memory.
In ai memory we have a few areas depends on agent
- operational memory and attention
 - conversation memory
 - semantic memory that could have a time context
 - episodic memory that maps to events
 
Episodic memory could be modeled as an event node that encodes
- time context and time relations
 - changing entities
 - actor entities
 - place and location context
 - relations to other episodes and events
 
MetaGraphs and HyperGraphs
As you can see, even memory's time and state aspects could create quite cluttered and complex relations and graphs. I increasingly see a limit of directed graphs for AI agent memory.
Metagraphs and Hypergraphs has ability to encode less clutered structures with a more powerful relations but this area require new tools and research