DataFab / Platform / The Knowledge Graph
The Fabric’s living output
Inside the graph, anatomy and traversals.
The semantic layer is the model; the knowledge graph is the answer. Person, organisation, account, matter, document, address, identifier and event nodes, connected by typed relationships that each carry a validity window, a confidence score and the source they came from — so a traversal returns not just a path, but the reason the path exists.
Explore it
Click an entity. Watch it resolve.
Twelve entities from a worked example, connected by sixteen typed relationships — three of which appear in no source record at all. Select a node to see its attributes and every edge it carries, with the confidence and validity window on each. Filter by type to see how the same graph reads differently depending on the question.
Nothing selected
Click any node to resolve it: its attributes, every typed relationship it carries, and the confidence and validity window on each. Derived edges are shown in gold and carry the rule that produced them.
Illustrative entities and values. Derived edges appear in no source record — they carry the rule that produced them and the premises it consumed.
Anatomy
What every node and every edge carries.
Resolved, not raw
A node is a golden record, not a row. The twelve copies of one customer collapse into one entity with the evidence for the merge retained and every merge reversible.
First-class objects
Relationships have their own type, their own properties and their own lineage — not a foreign key somebody inferred at query time.
From the derived ontology
Entity, relationship and attribute types come from the semantic layer the estate proposed and a person approved. The graph cannot hold a type the model does not have.
Down to the offset
Connector, document, page, paragraph, character offset or cell range, the exact text the entity came from, a confidence score and the time of extraction.
Derived edges
The relationship written nowhere.
A directorship sits in a filing. A shareholding sits in a register. A matter sits in the document system. Each fact is recorded somewhere. What is recorded nowhere is the implication — that together they put you on both sides. No search over documents returns a conclusion that exists only between them.
The graph produces those edges and then does something unusual with them: it refuses to present them as source facts. A derived edge carries the rule that produced it, the version of that rule, and the premises the rule consumed. If a premise is later superseded, the edge is superseded with it.
Named and versioned
Which rule fired, at which version, and what it read. Change the rule and the old edge remains explicable under the rule that produced it.
Listed, not summarised
The specific records the inference consumed, each linked to its source and its own confidence.
Propagated, not asserted
A derived edge is never more confident than the weakest premise underneath it.
Suppressed where the premise is
Where a premise sits behind an information barrier, the derived edge is withheld with it — otherwise the inference leaks the thing the barrier protects.
Time
Who controlled it in March.
A graph without time answers only one question: what is true now. Every edge here carries a validity window, and point-in-time snapshots of cited records are retained — so the structure as it stood at the date of the transaction is a query rather than an archaeology project.
The edge knows when it was true
A directorship that ended in 2022 does not silently disappear; it becomes an edge with a closing date, and it still answers questions about 2021.
The answer survives the source moving
Each cited record is snapshotted at the moment it was relied on, so a finding remains defensible after the source system is changed, migrated or retired.
Under the rules in force at the time
The data state, the rule versions and the execution path together — not an approximation reassembled from logs years later.
Traversals
Six questions a graph answers and a table cannot.
| Traversal | The question it answers | What comes back with the answer |
|---|---|---|
| Ownership chain | Who ultimately controls this counterparty? | Every hop, every confidence, and the level at which it halted |
| Shortest path | How are these two entities connected at all? | The path, the edge types crossed, and what was excluded by policy |
| Neighbourhood | What sits one and two hops from this party? | Ranked by edge strength and recency, not alphabetically |
| Temporal slice | What did this picture look like on a given date? | The graph as it stood, from validity windows and snapshots |
| Community | Which clusters does this entity belong to? | Hierarchical clustering with the basis for membership |
| Pattern | Does this structure match a known typology? | The match, the rule version, and the evidence for each leg |
Corporate memory
A knowledge tree that accumulates.
Beneath the graph sits a durable knowledge base the fabric derives and accumulates from your sources over time, organised as a four-level tree. It is what makes the graph corporate memory rather than a live query result — and it is why the answer improves as the estate resolves further.
Attributes
Entity property information — names, dates, values.
Relations
Entity-to-entity relationship triples.
Keywords
Semantic keyword indexing for search.
Communities
Hierarchical clustering for global context.
Extraction is constrained by seed schemas. The system cannot invent entities outside them — hallucination prevention by construction, with uniform structure and validation across every source.
Governed traversal
The path respects the wall.
Entitlement is enforced as the graph is walked, not applied to the result afterwards. Reasoning runs over a view that already excludes what it may not see, because a filtered answer still had to be computed from the restricted thing.
Next step
Point it at one estate and watch the graph appear.
The model is proposed by your systems and approved by your people. The graph fills itself from records that never move.