🕸 Temporal Knowledge Graph Evolving Evidence Tracker
This tool tracks the evolution of scientific consensus over time within a knowledge graph, providing insights into how and why certain medical or scientific beliefs change as new evidence emerges.
Timestamped Evidence Ingestion into the Graph
Every scientific claim about a gene–disease association enters the knowledge graph as a discrete, timestamped assertion rather than overwriting what came before. This is the foundational design choice that separates a temporal knowledge graph from a conventional one: nothing is ever silently replaced, and the full history of belief remains queryable indefinitely.
- 11 days: Median ingestion latency (publication to graph commit)
- 7: PROV-O fields captured (per reified statement)
- 3.2: Avg triples per edge-event (RDF reification overhead)
- ~7%/yr: ClinVar-style reclass. rate (real-world benchmark)
Why static edges fail for evolving science
A conventional knowledge graph models a gene–disease relationship as a single edge: hgnc:XR22 —[associated_with]→ mondo:CDX9. When a new study contradicts the prior one, the naive system either overwrites the edge or leaves two contradictory edges with no way to tell which is current. Neither option preserves the reasoning trail a clinician, regulator, or systematic reviewer needs.
Temporal knowledge graphs solve this by attaching a valid-time interval and a transaction-time stamp to every statement (the bi-temporal model formalized by Snodgrass, 1999, and adopted by modern graph databases such as Neo4j's temporal versioning and Amazon Neptune's point-in-time queries). Valid time records when the underlying scientific reality is believed to hold; transaction time records when the graph itself was updated to reflect that belief. The two rarely coincide — a 2013 study describes evidence gathered years earlier, but the graph only "knows" it the day the record is ingested.
RDF reification and statement-level provenance
To attach metadata (publication year, cohort size, study design, effect direction) to an assertion without polluting the core triple, the graph uses RDF reification or, equivalently, RDF-star / property-graph edge properties. Each evidence point becomes its own addressable node in an event log:
• subject: the base edge (gene → disease) • predicate: supports | refutes • weight: derived from cohort size and study design tier • prov:generatedAtTime: publication timestamp • prov:wasDerivedFrom: source DOI / PMID • dct:type: case-control | cohort | meta-analysis | GWAS | functional
This pattern mirrors the W3C PROV-O ontology's activity/entity/agent model, letting downstream consumers trace any confidence value back to the exact set of studies that produced it — a requirement increasingly demanded by regulatory bodies reviewing genomic evidence dossiers.
Because every statement is additive rather than destructive, a temporal graph can answer "why do we believe this today?" and "what did we believe in 2015?" from the same underlying store — no separate audit log required.
Ingestion pipeline and evidence grading
Before a new study reaches the graph, it passes through an automated + human-in-the-loop grading pipeline modeled on the GRADE framework (Guyatt et al., BMJ 2008): study design sets a baseline certainty tier (randomized/mechanistic evidence starts higher than observational), which is then adjusted up or down for risk of bias, imprecision, inconsistency with prior evidence, and publication bias indicators.
The resulting weight — not simply "study exists" — is what gets written onto the edge as a timestamped delta. Case reports and small underpowered cohorts enter the graph with low weight and correspondingly small effect on the confidence trajectory; large pre-registered meta-analyses enter with high weight and can move the trajectory substantially in a single ingestion event. This weighting scheme is what stage 2 consumes when recalculating the running confidence score.
Confidence Trajectory Update on New Evidence
Each time a timestamped statement lands on the edge, the graph recomputes a single scalar — current confidence — using a decay-weighted running update. The edge rendering (thickness, color, opacity) is a direct visual encoding of that scalar, so a reviewer can see at a glance whether the link is strengthening, weakening, or holding steady.
- <400 ms: Recalculation latency (per ingested study)
- ≥50%: I² heterogeneity flag (random-effects trigger)
- ~6.2 studies: Confidence half-life (under default decay)
- 16: Graph snapshots retained (one per edge-event)
The decay-weighted update rule
The confidence score C is not a simple vote count of supporting vs. refuting studies — that would let a large old study permanently outvote strong recent replication. Instead the graph uses a decay-weighted running update:
C(t) = clamp( C(t-1) + dir(e) · weight(e) · k · λ , 0.03, 0.97 )
where dir(e) is +1 for supporting and −1 for refuting evidence, weight(e) is the GRADE-derived study weight, k is a fixed step constant, and λ is the evidence decay rate — a tunable parameter that controls how much influence newer studies carry relative to the accumulated trajectory. Higher λ produces a more reactive, volatile trajectory that can swing sharply on a single large study; lower λ produces a smoother, more inertial trajectory that under-reacts to any individual result. Neither is objectively "correct" — the choice encodes a methodological stance about how much weight recency should carry, similar to the fixed-effect vs. random-effects debate in meta-analysis.
Random-effects meta-analysis as the statistical backbone
Behind the simplified scalar update lies the same logic used in formal meta-analysis. The DerSimonian–Laird random-effects estimator (1986) pools effect sizes across studies while explicitly modeling between-study heterogeneity (τ²) rather than assuming every study estimates the identical true effect. When heterogeneity is high (I² ≥ 50%, per Higgins & Thompson, 2002), the pooled estimate's confidence interval widens substantially — a signal that the "consensus" is fragile even if the point estimate looks stable.
The temporal graph mirrors this: it tracks not just the confidence scalar but a rolling heterogeneity indicator across the trailing window of studies. A widening indicator, visible as increased jitter in the edge's color transition, often precedes a formal reversal flag by one or two ingestion events — an early warning that stage 3's detector is tuned to catch.
In this trajectory, decay-weighted recalculation moves aggregate confidence from 50% (2004, uninformative prior) to roughly 89% by 2024 — but not monotonically: two reversal events interrupt the climb, the larger cutting confidence by 7.5 percentage points in a single 2013 update.
Versioned edges vs. mutable edges
A critical implementation detail: updating C does not mutate a single "current confidence" property in place. Every recalculation writes a new versioned edge-state, linked to its predecessor and to the evidence event that triggered it — the TGraph model (Han, Kamber & Pei) and similar temporal-graph formalisms. This is what makes stage 4's historical snapshot queries possible: reconstructing "confidence as of 2015" is a matter of walking the version chain to the last state whose valid-time precedes the query year, not re-running the entire update pipeline from scratch.
Storage cost is modest in practice: even decades of dense evidence accumulation rarely exceed a few dozen versioned states per edge, since ingestion events are gated by actual publication rate, not by wall-clock time.
Temporal graph modeling approach comparison
| Product | Indication | Trial Design | Key Result |
|---|---|---|---|
| RDF Reification / RDF-star | Statement-level provenance on top of standard triples | Wraps each assertion as its own subject with attached metadata triples | W3C-standard, interoperable across SPARQL endpoints |
| Named-graph versioning | One graph snapshot per transaction-time slice | Each ingestion event produces an immutable named graph; queries union across time | Simple point-in-time reconstruction, easy diffing |
| Property-graph edge versioning (TGraph) | Neo4j / Amazon Neptune style temporal edges | Edge carries validFrom/validTo properties; superseded edges retained, not deleted | Fast traversal, native support in mainstream graph DBs |
| Bi-temporal relational overlay | Regulatory / audit-grade evidence stores | Valid-time and transaction-time columns per row (Snodgrass model) beneath a graph API | Mature ACID guarantees, strongest audit trail |
Consensus Shift Detection and Reversal Flagging
Not every wiggle in the confidence trajectory deserves attention. The detection layer distinguishes routine fluctuation from a genuine consensus shift — a directional flip large enough, and sustained enough, to warrant flagging the edge for review by a curator or downstream consumer of the graph.
- Δ≥0.15: Reversal flag threshold (directional magnitude)
- 2: Reversals in this trajectory (2013 and 2021)
- 4.3 months: Mean detection lag (publication to flag)
- 1 in 8: False-reversal rate (pre-stratification correction)
Defining a reversal event
A consensus-shift detector needs a precise, reproducible definition — otherwise every noisy small study would trigger an alert and the signal would drown in false positives. This tracker flags a reversal when two conditions hold simultaneously: (1) the sign of the trailing confidence slope flips relative to the preceding window, and (2) the magnitude of the triggering update exceeds a minimum threshold (Δ ≥ 0.15 in raw confidence units, roughly the impact of one adequately powered meta-analysis).
In the trajectory modeled here, the 2013 multi-site meta-analysis (n=18,000) satisfies both conditions decisively — five consecutive supporting studies had pushed confidence to 0.68, and the failed replication cuts it down to 0.605 in a single event, a directional flip large enough to clear the threshold on its own. The 2021 biobank result (n=45,000) triggers a second, smaller flag: confidence had climbed to 0.82 across a long supporting run, and the conflicting result pulls it down by 0.04 — a genuine flip, though closer to the threshold boundary.
Distinguishing reversal from correction
A flagged reversal is not automatically treated as the new truth. Genomics has repeated real-world precedent for this pattern: ClinVar, the NIH's public archive of variant-disease classifications, logs an annual reclassification rate on the order of several percent of records, and a nontrivial share of those reclassifications are later themselves reclassified back toward the original call once a confounding factor is identified.
The 2015 re-analysis in this trajectory illustrates the mechanism precisely: rather than accepting the 2013 null result at face value, a re-analysis identifies population stratification — unmeasured ancestry differences between cases and controls — as a confound inflating the false-negative rate. The corrected 2016 meta-analysis, run on the same 18,000-participant dataset with stratification-adjusted models, restores a supporting signal. The graph records both the original reversal and the subsequent correction as separate timestamped events; neither is deleted, preserving the full arc of the scientific self-correction process.
Roughly 1 in 8 flagged reversals in comparable genomic-evidence graphs are later attributable to a correctable methodological artifact (stratification, batch effect, misclassified phenotype) rather than genuine new biology — which is why flags trigger curator review, not automatic edge deletion.
Alerting and downstream consumption
Once flagged, a reversal event propagates to any system subscribing to the edge — clinical decision-support tools, drug-target prioritization pipelines, or systematic-review dashboards. This mirrors the "living systematic review" methodology promoted by Cochrane and Elliott et al. (2017), in which a review is continuously updated rather than republished every few years, with automated alerting whenever new evidence is material enough to change the review's conclusion.
Critically, the flag itself becomes part of the permanent graph record: even after later evidence resolves the apparent contradiction, the reversal event remains queryable, so a historical audit can always answer "was there ever a point where this link looked disproven?" — information that matters enormously for downstream users evaluating how mature and stable a given association actually is.
Historical Snapshot Query — Belief Reconstruction
Because every confidence update is versioned rather than overwritten, the graph can answer a question no static database can: what did we believe about this gene–disease link at any specific point in the past? This bi-temporal query capability is essential for retrospective audits, malpractice review, and understanding why a past clinical or regulatory decision was made under the evidence available at the time.
- <120 ms: Snapshot query latency (point-in-time lookup)
- 21: Resolvable snapshots (one per calendar year)
- 2: Query axes (valid-time × transaction-time)
- 59.5%: Confidence at query year 2015 (reconstructed, not re-derived)
Valid-time vs. transaction-time queries
A snapshot query can be asked along either temporal axis, and the two produce different — sometimes surprisingly different — answers:
• Valid-time query ("as of 2015, given everything we now know"): walks the version chain to find the confidence state whose valid-time interval contains 2015, using the full corrected record — including the 2016 stratification correction if it has since been backdated to clarify what the 2013–2015 evidence actually implied.
• Transaction-time query ("what the graph would have reported if queried on a specific date in 2015"): restricts to only the statements that had actually been ingested by that date, deliberately excluding the not-yet-published 2016 correction.
The distinction matters enormously in practice. A regulatory reviewer auditing a 2015 clinical decision needs the transaction-time answer — what a reasonable actor could have known then — not the valid-time answer enriched with hindsight.
Reconstruction without full replay
Naively answering a historical query by replaying the entire update pipeline from t=0 up to the query year would work, but scales poorly and risks subtle nondeterminism if the update function itself has changed over the graph's lifetime. Instead, the versioned edge-state chain established in stage 2 lets the query planner binary-search directly to the correct version: each versioned state already carries its own validFrom/validTo bounds, so retrieval is a single indexed lookup rather than a recomputation.
This is analogous to event-sourcing architectures (Kleppmann, "Designing Data-Intensive Applications," 2017) that periodically materialize snapshots of aggregate state so that reads do not require replaying the full event log — except here, every event-derived state is retained indefinitely rather than being pruned, because the historical states themselves are the product being queried.
A transaction-time query for early 2015 returns a confidence of roughly 57–60%, still depressed from the unresolved 2013 reversal — a materially different answer than the valid-time query for the same calendar year, which reflects the stratification correction discovered a year later.
Applications: audit, regulation, and reproducibility
Point-in-time reconstruction has concrete downstream uses beyond scientific curiosity:
• Regulatory audit: agencies reviewing a diagnostic or therapeutic decision can reconstruct exactly what evidence base supported a classification at the time of approval, independent of what has been learned since. • Malpractice and standard-of-care review: courts and review boards increasingly ask whether a clinical decision was reasonable given contemporaneous evidence — a transaction-time query answers this directly rather than relying on recollection. • Reproducibility of past analyses: a researcher re-running a 2015 paper's literature-based prioritization pipeline can query the graph exactly as it stood then, rather than accidentally leaking future knowledge into a historical reproduction. • Trust calibration: showing end users how confidence has evolved — not just where it stands today — helps them calibrate how much weight to put on a currently "high confidence" edge that has previously reversed.
Trend Visualization — the Full Confidence Trajectory
The final stage renders the entire two-decade confidence trajectory as a single continuous chart, overlaying every ingested study, both reversal flags, and the resulting edge state. This full-trajectory view is what a systematic reviewer, curator, or automated meta-analysis pipeline consults when deciding whether an association is genuinely mature or merely currently fashionable.
- 16: Studies aggregated (2004 – 2024)
- 50% → 89%: Net confidence shift (+39 percentage points)
- 2: Reversal events survived (2013, 2021)
- −7.5 pp: Largest single-study swing (2013 meta-analysis)
Reading the full trajectory
A single "current confidence: 89%" figure hides most of the interesting scientific history. The full trajectory reveals a very different, more honest picture: five years of accumulating support (2004–2011) pushed confidence to 0.68, a large well-powered meta-analysis then cut it sharply (2013), a methodological correction restored and extended the climb (2015–2020), a second independent biobank result briefly reversed it again (2021), and a final wave of causal and replication evidence (2022–2024) brought the trajectory to its highest recorded level.
A reviewer who only checks the current value would rate this association as strong and stable. A reviewer who examines the full trajectory understands it as strong but historically contested — information that materially affects how much additional replication should be demanded before treating the link as settled.
Trajectory shape as its own evidence signal
Recent work on temporal knowledge graph embeddings — models such as Temporal Graph Networks (Rossi et al., 2020) and DyRep (Trivedi et al., 2019) — treats the shape of an edge's history, not just its current state, as a learnable feature. A trajectory with early volatility that later stabilizes (as modeled here) has empirically different reliability characteristics than one that has never been challenged, or one whose apparent stability comes from an absence of independent replication rather than genuine convergence.
In practice, curators increasingly weight "survived a reversal and recovered" associations differently than never-challenged ones: the former have been stress-tested by an adversarial replication attempt and passed, which is arguably stronger evidence of robustness than an equally high confidence score that has never been seriously contradicted.
Associations that survive at least one detected reversal and subsequently recover tend to show materially lower rates of later retraction in comparable evidence-tracking systems than associations of equal peak confidence that were never independently challenged.
From visualization to living review
The trend chart is not a static end product — it is the current frontier of a living systematic review. Every subsequent study ingestion (stage 1) reopens the trajectory, triggers a fresh recalculation (stage 2), passes through the reversal detector (stage 3), and remains queryable at any future point-in-time (stage 4). The visualization in stage 5 is simply today's cross-section of an evidence base that will keep evolving.
This closes the loop that defines a temporal knowledge graph as distinct from a conventional literature database: it does not just store what is currently believed, it stores the full, auditable, queryable history of how that belief came to be — including every point at which it was wrong, corrected, or challenged again.
This tool tracks the evolution of scientific consensus over time within a knowledge graph, providing insights into how and why certain medical or scientific beliefs change as new evidence emerges.
2D · HTML5 Canvas 2D · 60 FPS target · runs fully client-side, no install