Section 01 · the difference
Vector store vs knowledge graph.
same query · two answer shapes
A vector store finds documents about contracts. A graph returns the contracts themselves.
Section 02 · how a fact becomes a fact
Document → triple → canonical node.
two-pass extraction
Pass 1 says it. Pass 2 binds it to the firm's ontology. Anything that cannot bind, gets parked.
Section 03 · where it lives
Three indexes, one knowledge API.
co-located storage, unified front
Each index answers a different question shape. The API picks; the agent never knows which fired.
Section 04 · the retrieval funnel
From 400 candidates to one answer.
three stages · ~150ms p50
Skip a stage, lose 5-15 points NDCG. This is the 2026 consensus stack.
Section 05 · bitemporal facts
Every fact has a validity window.
"what did we believe on March 1?"
The graph never forgets. Move the as-of marker; the answers move with it.
Section 06 · the schema, drawn
Small ontology, edge properties.
a working firm-scale ontology · 20-60 entity types is plenty
Properties live on edges, not just nodes. That's why a property graph beats RDF for agents.
Section 07 · tools 2026
Where the OSS picks land.
temporal ↑↓ static · schema-free ←→ schema-strict
Pick by question shape. If you ask "as of when?", you need the upper half.
Section 08 · ways to ship a bad KG
Five anti-patterns.
SCHEMA-FIRST
design before data
STATIC DUMP
extract once, rot
NO TEMPORAL
overwrites history
VECTOR-ONLY
not actually a graph
LLM-RESOLVES
conflict at runtime
Section 09 · vollko OSS · this layer
The primitives.
· · ·
Build the AI-native firm