---
title: 'Full-History Graph: Temporal Evolution'
url: https://www.emergentmind.com/topics/full-history-graph
type: topic
---

# Full-History Graph: Temporal Evolution

In the cited literature, a full-history graph is a graph representation that preserves the entire temporal or versioned evolution of a system rather than restricting analysis to isolated snapshots. The concept appears in several closely related forms: as a historical graph store built from an initial state plus an ordered event stream; as an evolving graph expressed through revision-level additions and deletions; and as a time-unrolled graph with one node per entity per time step and separate structural and temporal edges. Across these formulations, the central objective is the same: to make graph change first-class, so that retrieval, analytics, learning, and reasoning can operate on exact historical state rather than on coarse temporal summaries [1207.5777], [1509.08960], [2508.03251].

## 1. Definitions and formal variants

A classical systems-oriented definition models a full-history graph over a discrete time domain \(T=\{0,1,\dots,t_{\max}\}\) as \(G_{\mathrm{hist}}=(G_0,E)\), where \(G_0=(V_0,E_0,A_0)\) is the initial graph and \(E=\{e_1,e_2,\dots,e_U\}\) is a chronologically ordered event stream containing node insertion or deletion, edge insertion or deletion, and node or edge attribute update. A snapshot at time \(t\) is reconstructed by replaying all events up to \(t\): \(G_t = G_0 \oplus \{e_i \mid \mathrm{time}(e_i)\le t\}\). In this formulation, the full-history graph is the persistent record that makes arbitrary historical snapshots retrievable [1207.5777].

A related abstraction treats the full-history graph over \([t_0,t_n]\) as the union of all vertices and edges at all times, annotated by validity. If \(G(t)=(V(t),E(t))\) is the snapshot at time \(t\), then
\[
G_H=\{(v,t)\mid v\in V(t),\,t_0\le t\le t_n\}\cup \{(e,t)\mid e\in E(t),\,t_0\le t\le t_n\}.
\]
The same framework introduces atomic changes between successive snapshots as \(\Delta_V(t)=V(t)\setminus V(t-1)\) and \(\Delta_E(t)=E(t)\setminus E(t-1)\), with event-level deltas used to encode additions, deletions, and attribute changes [1509.08960].

In evolving RDF knowledge graphs, the history is expressed as a revision sequence. For an entity \(e_i=(r_{i,1},r_{i,2},\dots,r_{i,n_i})\), each revision \(r_{i,j}\) is serialized as an RDF graph \(G_{i,j}\), and revision-to-revision change is represented by deletion and addition sets
\[
\Delta^-_{i,j}=G_{i,j-1}\setminus G_{i,j}, \qquad \Delta^+_{i,j}=G_{i,j}\setminus G_{i,j-1}.
\]
If all revisions are globally ordered by revision id, the evolving graph obeys
\[
G_t = (G_{t-1}\cup \Delta^+_t)\setminus \Delta^-_t,\quad G_0=\emptyset.
\]
This yields a full-history, evolving RDF knowledge graph whose basic unit of change is the triple-level delta [2112.05003].

A distinct machine-learning-oriented construction unfolds each entity across time. With timesteps \(T=\{0,1,\dots,\tau_{\max}\}\) and entity set \(V=\{1,2,\dots,N\}\), one creates
\[
V_{\rm full}=\{v_{i,t}\mid i\in V,\; t\in T\},
\]
together with intra-time-step edges \(E^{\rm intra}\) for relations within a frame and inter-time-step edges \(E^{\rm inter}\) connecting an entity to itself across consecutive frames. The full-history graph is then \(G=(V_{\rm full},E^{\rm intra}\cup E^{\rm inter})\). This formulation makes temporal continuity explicit in the graph topology itself [2508.03251].

These definitions are not identical, but they are structurally aligned. A plausible implication is that “full-history graph” functions as an umbrella term for representations that preserve exact temporal provenance, whether the primitive update is an event, a delta, a revision, or a time-unrolled node copy.

## 2. Storage, indexing, and retrieval architectures

Early full-history graph systems emphasize compact archival and efficient point-in-time reconstruction. DeltaGraph organizes the event stream hierarchically. The stream \(E\) is partitioned into leaf-eventlists of size \(L\); leaves correspond to leaf snapshots; interior tree nodes represent synthetic graphs defined by a differential function \(f\) over children; and each edge stores a delta \(\Delta(c,p)\) such that \(S_c=S_p\oplus \Delta(c,p)\). The framework exposes explicit trade-offs among arity \(k\), leaf-eventlist size \(L\), and differential function choice, including Intersection, Balanced, Skewed, and Mixed variants. For the Balanced function, the storage model is
\[
S(U,k,L)\approx \frac{k-1}{2}(\delta_*+\rho_*)U(\log_k(U/L)-1)+|G_0|+\frac12(\delta_*-\rho_*)U,
\]
and single-point snapshot retrieval is modeled as
\[
T(U,k,L)\approx c_s\log_k(U/L)+c_b\Bigl[\frac12(\delta_*+\rho_*)U+\frac{L}{2}\Bigr].
\]
GraphPool complements the index by overlaying multiple resident snapshots using bit-vectors, so that hundreds of historical graph instances can coexist in main memory non-redundantly [1207.5777].

Historical Graph Store generalizes time-centric and entity-centric indexing through the Temporal Graph Index (TGI). TGI combines partitioned eventlists, derived partitioned snapshots arranged as a hierarchical delta tree, and per-vertex version chains that point directly to relevant deltas. If there are \(k\) horizontal partitions and \(\tau\) time spans, the index may be viewed as \(I=\{P_1,\dots,P_k\}\), where \(P_i=\{\Delta_i(t)\mid t_0\le t\le t_n\}\). Under the paper’s balance assumptions, snapshot reconstruction at time \(t\) costs roughly
\[
O\!\bigl(h+k+|V(t)|+|E(t)|\bigr)\approx O\bigl(\log k+|V(t)|+|E(t)|\bigr),
\]
while vertex-history retrieval depends on the size of the corresponding version chain rather than on the size of the entire graph. TAF, the Temporal Graph Analysis Framework above TGI, introduces temporal operands such as NodeT, SoN, SubgraphT, and SoTS, together with operators including `select`, `timeslice`, `graph`, `nodeComputeTemporal`, `nodeComputeDelta`, `compare`, `evolution`, and `tempAggregate` [1509.08960].

Wikidated 1.0 applies the same principles to an evolving knowledge graph extracted from Wikidata’s “pages-meta-history” dumps. The pipeline streams entity revisions, converts JSON blobs to RDF graphs via Wikidata Toolkit, computes per-revision deletions and additions, emits incremental revision records, and then performs an external multiway merge by revision id to build a global stream without materializing everything in RAM. Storage is offered in two GZIP-compressed JSON Lines variants: tar-archived per-entity streams and a single global stream. Each incremental revision stores entity ID, revision ID, timestamp, user, comment, and arrays of string-serialized RDF triples named “deletions” and “additions.” The implementation also resolves the blank-node issue by dropping blank-node IDs because, in Wikidata’s RDF export, blank nodes only occur for “some”-value placeholders and each occurs in exactly one triple [2112.05003].

Taken together, these systems establish a recurring architectural pattern: archival history is compressed as deltas; retrieval is accelerated by hierarchical organization and entity-local access paths; and analytical interfaces are built above exact temporal state rather than above ad hoc snapshot collections.

## 3. Learning over explicit history

Full-history graphs have also become learning substrates. One line of work addresses dynamic network embedding directly. “Dynamic Graph Embedding via LSTM History Tracking” proposes a method that integrates the history of nodes over time into the current state of nodes. Its stated contributions are generating dynamic network embedding by combining both dynamic and static node information, tracking history of neighbors of nodes using LSTM, and significantly decreasing the time and memory by training an autoencoder LSTM model using temporal walks rather than adjacency matrices of graphs. The paper evaluates the method on anomaly detection, link prediction, and node classification across datasets from various domains [1911.01551].

A more explicit full-history construction appears in ETDNet. Here every entity-time pair is a node, and the edge set is split into \(E^{\rm intra}\) and \(E^{\rm inter}\). ETDNet stacks \(L\) layers, each with three parallel components: Step Attention over \(E^{\rm intra}\), History Attention over \(E^{\rm inter}\), and a Fusion module. The graph-attention branch aggregates frame-local neighbors through multi-head attention and residual projection; the temporal branch attends over an entity’s predecessor sequence \(\mathcal P_B(u^t)\); and the fusion step combines the original embedding with both messages using a residual MLP:
\[
h_u^{(\ell+1)}=\mathrm{LayerNorm}\Bigl(h_u^{(\ell)}+\mathrm{ReLU}\bigl(F[\,h_u^{(\ell)}\Vert m_u^D\Vert m_u^{\mathcal H}\,]\bigr)\Bigr).
\]
On Waymo driver-intention forecasting, ETDNet lifts joint accuracy to \(75.6\%\) versus \(74.1\%\) for TGN, with speed F1 improving from \(84.9\%\) to \(85.7\%\) and direction F1 from \(81.6\%\) to \(82.9\%\). On Elliptic++ Bitcoin fraud detection, ETDNet reaches illicit-F1 \(=88.1\%\) and AUPRC \(=0.863\), while the reported temporal baselines TGN and DyGFormer reach approximately \(60\)–\(61\%\) illicit-F1. The ablations further separate the roles of the two edge families: SA-only yields F1 approximately \(55\%\), HA-only approximately \(75\%\), and the full dual-branch model approximately \(88\%\) [2508.03251].

The same literature also clarifies what full-history representations are meant to preserve. ETDNet argues that representing each entity’s state at every time step as its own node preserves exact causal ordering and structural context without compressing events into coarse “snapshots,” while edge-type splitting prevents a single aggregator from mixing signals that evolve at very different rates. This suggests that the learning benefit is not merely longer context, but architectural separation between spatial interaction and temporal recurrence.

## 4. Knowledge graphs, conversational state, and agent memory

In conversational KBQA, history can itself be graph-structured. HSGE converts every past turn’s logical form into a single, growing history semantic graph \(G=(V,E)\) whose nodes are entities and Wikidata-derived types and whose edges are predicates plus an `IsA` relation. Node and edge labels are initialized with BERT embeddings of their surface forms, updated by a single TransformerConv layer, and augmented by a temporal embedding based on turn distance \(D=t-t_i\), either sinusoidal or learned:
\[
\bar h_i = h_i + e_t(D).
\]
These graph representations are then injected into a Transformer-based encoder through token-level and utterance-level multi-head attention before grammar-guided decoding. On the CSQA benchmark of \(260\)K dialogs, HSGE reports an overall score of \(81.38\) versus \(78.82\) for LASAGNE; it reaches \(91.24\) F1 on logical-reasoning versus \(89.83\), and \(82.17\) accuracy on Boolean verification versus \(78.86\). Removing the history semantic graph drops the overall score to \(79.87\), and removing temporal modeling yields \(80.36\) [2306.06872].

A different question is whether full history should be *shown* to the language model at every decision. In LLM-based KGQA, Full-History Graph prompting serializes the entire symbolic path \(p_t=(e_0,r_1,e_1,\dots,r_t,e_t)\) into each routing prompt through \(h_{\rm full}(p_t)=p_t\). Bounded Path Context replaces this with a \(K\)-bounded suffix \(h_K(p_t)\), while the controller still retains full symbolic paths in memory for expansion and answer extraction. Under a controlled sweep on complete WebQSP and CWQ test sets with Qwen3.5-9B-AWQ, \(K=1\) achieves WebQSP F1 \(0.487\) versus \(0.472\) for full history, and \(K=0\) reaches CWQ F1 \(0.287\) versus \(0.274\), with \(9.7\%\) and \(12.1\%\) fewer input tokens respectively. The paper reports that \(71\)–\(84\%\) of examples tie across history-length settings, and characterizes the affected cases as either “Disambiguation wins” or “Stale-context losses” [2605.26645].

The same separation between retained history and exposed context appears in LLM-agent memory. Engram stores extracted facts as bi-temporal tuples
\[
F=(s,p,o,t_{\mathrm{valid}},t_{\mathrm{txn}})
\]
with optional end-times, a supersedes pointer, provenance metadata, surface text, embedding, salience, and confidence. Contradictions are resolved by non-destructive invalidation: older facts are clipped in valid-time and transaction-time, never deleted, so that provenance and supersession chains remain intact. Retrieval uses an “as-of” filter
\[
G_{\mathrm{as\text{-}of}(T_{\mathrm{valid}},T_{\mathrm{txn}})}
\]
together with dense, lexical, graph, recency, and salience signals fused by weighted scoring and Reciprocal Rank Fusion. On the full \(500\)-question LongMemEval\(_S\), Engram’s lean configuration answers from an approximately \(9.6\)k-token retrieved slice, never the full history, and scores \(83.6\%\) versus \(73.2\%\) for the full-context baseline, with paired McNemar exact \(p<10^{-6}\) and approximately \(8\times\) fewer tokens \((9.6\)k versus \(79\)k\()\) [2606.09900].

A common misconception is therefore that a full-history graph implies full-history *prompting*. The recent KGQA and agent-memory results show the opposite design: retain complete symbolic or graph history for auditability and exact answer extraction, but expose only a bounded or retrieved slice at inference time.

## 5. Representative datasets and empirical domains

Full-history graphs are now instantiated at Internet and blockchain scale, as well as in collaborative knowledge systems.

| Resource | History unit | Reported scale |
|---|---|---|
| Wikidated 1.0 | RDF triple additions and deletions between revisions | 96.6 M entities; 1.43 B revisions |
| Software Heritage graph | Full Merkle-DAG of public VCS history | \(|V|\approx 1.1\times 10^{10}\); \(|E|\approx 1.65\times 10^{11}\) |
| BTC full-history network | Transaction-derived address graph from genesis to block 845651 | 1 013 989 952 transactions; 1 411 482 182 distinct addresses |

Wikidated 1.0 covers 30 Oct 2012–2 Jun 2021 and is described as the first large dataset of an evolving knowledge graph. Its summary statistics show a graph whose updates are usually small but whose long tail is operationally important: revisions per entity have mean \(14.6\), standard deviation \(24.9\), and median \(7\); only \(2.5\%\) of entities have a single revision; \(99\%\) have fewer than \(100\) revisions. Inter-revision times have median \(12\) days and mean \(70\) days, yet \(30\%\) occur within \(60\) seconds. Additions per revision have mean \(9.56\) and median \(2\); deletions have mean \(0.88\) and median \(0\); \(89\%\) of revisions add fewer than \(10\) triples and \(80\%\) delete none. Triple churn is asymmetric: \(88\%\) of all added triples are never deleted, \(10\%\) are deleted exactly once, and less than \(1\%\) see more than one deletion, though some “edit wars” exceed \(100\) toggles [2112.05003].

Software Heritage exposes public software development history as a directed acyclic Merkle graph with node types for contents, directories, revisions, releases, snapshots, origins, and visits. As of the September 25 2018 snapshot, the reported node counts include \(5.082263206\times 10^9\) contents, \(4.422303776\times 10^9\) directories, \(1.125083793\times 10^9\) revisions, \(5.7144153\times 10^7\) snapshots, and \(8.5143957\times 10^7\) origins, for a total of approximately \(1.1\times 10^{10}\) nodes. The average parent-degree of a revision is \(1.0881200\ldots\), reflecting predominantly linear commit histories with rarer merges. A complementary large-scale topological analysis compresses an approximately \(11\)-billion-node, \(165\)-billion-edge graph to approximately \(15\) GB on disk using WebGraph compression, reports one giant connected component of size approximately \(0.90\)–\(0.95|V|\), and observes average commit-layer path lengths of approximately \(30\)–\(35\) hops with diameter approximately \(500\)–\(600\) [2011.07824], [2011.07914].

In Bitcoin analysis, Cheng et al. build a full-history transaction graph from block \(0\) through block \(845651\). They synchronize a full Bitcoin Core node to block \(845652\) and, using BlockSci, extract \(1\,013\,989\,952\) transactions, \(2\,593\,912\,022\) inputs, \(2\,846\,704\,728\) outputs, and \(1\,411\,482\,182\) distinct addresses. Because the UTXO model does not record explicit input-to-output pairings, each transaction with inputs \(I_t=\{i_1,\dots,i_N\}\) and outputs \(O_t=\{o_1,\dots,o_M\}\) is converted into the complete bipartite directed edge set \(E_t=\{(i_k\to o_\ell)\}\), with edge weights allocated in proportion to output value. On top of this full-history graph, the paper defines decentralization measures based on centrality dispersion, top-balance concentration \(D_A\), ranking stability, and normalized HHI-based decentralization \(D_{HHI}\), and reports three phases: “rapid decentralization” from Jan 2009–Feb 2010, “re-centralization” from Feb 2010–Mar 2012, and “long-term stability” from Mar 2012–May 2024 [2411.13603].

These datasets show that “full history” is not tied to one domain. It covers collaboratively edited KGs, public software archives, financial transaction networks, and, by extension in the cited work, traffic and fraud graphs.

## 6. Limits, misconceptions, and research directions

The main practical limitation of full-history graphs is scale, but the cited systems show that scale interacts with access pattern rather than with raw size alone. DeltaGraph makes storage and retrieval tunable through \(k\), \(L\), and differential-function choice; TGI uses partitioned eventlists and version chains to avoid whole-graph scans; ETDNet notes that the Step-Attention branch may be accelerated via sparse-attention kernels or neighbor sampling, while the History-Attention branch requires only \(O(Bd)\) memory per node [1207.5777], [1509.08960], [2508.03251].

A second limitation is incompleteness of the historical record. Wikidated 1.0 omits deleted entities and revisions because they are absent from public “pages-meta-history” dumps, excludes lexicographic data because Wikidata Toolkit does not yet serialize lexemes, forms, or senses, and does not include talk pages, templates, or other meta wikitext. Software Heritage’s public-history studies also note crawl lag and exploratory methodology limits, including the absence of full goodness-of-fit testing in the reported power-law analysis [2112.05003], [2011.07914].

A third issue is methodological: full-history data are not always directly observed. “Reconstructing Graph Diffusion History from a Single Snapshot” studies DASH, where only the final snapshot \(y_T\) is available and the true diffusion parameters are unknown. The paper proves that parameter estimation is NP-hard under SIR and that MLE-based history recovery is sensitive to parameter error. It therefore replaces single-history MLE with a barycenter formulation based on posterior expected hitting times, and implements DITTO using mean-field parameter estimation, an unsupervised GNN proposal, and Metropolis–Hastings MCMC. Reported results include mean-field \(\hat\beta\) with NRMSE \(<0.22\) on synthetic data, approximately \(10\%\) NRMSE gain on COVID relative to baselines, and runtime \(O(T(n\log n+m))\) [2306.00488].

The recent prompt-engineering and memory papers further correct a common overgeneralization. Full-history graphs preserve exact symbolic or temporal state, but that does not imply that the entire state should be serialized into every prompt. Bounded Path Context argues that path-serialization length \(K\) should be treated as a tunable interface hyperparameter rather than as a fixed default, and Engram shows that a lean retrieved context can outperform full-history replay even when the underlying memory remains lossless and bi-temporal [2605.26645], [2606.09900].

Several forward directions are already explicit in the literature. ETDNet identifies continuous-time extension, adaptive history-window learning, and theoretical analysis of over-smoothing in decoupled message passing as open directions. Wikidated’s update statistics suggest cheap incremental updates for most revisions, but the non-negligible fraction of rapid edits and high-frequency churn argues for dynamic index structures and caching; the long tail of repeated triple flips invites change-classification research [2508.03251], [2112.05003].

Across these strands, the durable idea is exact historical state. Whether realized as event replay, delta streams, bi-temporal facts, revision-level RDF changes, or time-unrolled entity replicas, the full-history graph is the mechanism by which graph evolution becomes directly queryable, learnable, and auditable.

Source: https://www.emergentmind.com/topics/full-history-graph