# The World Model data model: typed statements, two clocks and belief lanes | Team0

> How Team0 stores knowledge: typed subject-predicate-object statements with provenance, holder attribution, two independent time axes, trusted/evidence/candidate lanes, and an ontology held as data.

Agent-readable version of https://team0.ai/world-model/data-model. The page for people is at that address; this file carries the same content without layout.

---
# The data model.

Everything Team0 knows is stored as individual statements in one graph per workspace. Each statement knows what it is about, who said it, where it came from, when it was true, when it was learned, and how much it should be believed.

## Two primitives.

The whole model is entities and statements. Entities are the things in your world. Statements are everything said about them, including the relationships between them.

Entities are the nodes
:   A person, organisation, project, deal, topic, thread or event. The same real person seen in email, meetings and your calendar is one entity, not three.

Statements are everything else
:   Each statement is a subject, a typed predicate and an object. When the object is another entity, the statement is an edge: Mara works at Northpeak. When it is a value, it is a fact about the subject.

One statement, as stored (illustrative)

```
subject          Mara Levin                       the record it is about
predicate        owns                             typed, from the controlled vocabulary
object           Northpeak renewal                another record (an edge) or a value
concerns         [Mara, Daniel, Northpeak]        every record it touches
holder           Daniel                           whose view this is
source           email · message reference        the exact object it came from
evidence         "Mara is taking Northpeak…"      the supporting passage
true from        Wednesday                        clock 1: when it became true
learned          Wednesday 08:14                  clock 2: when Team0 learned it
lane             trusted                          trusted · evidence · candidate
superseded_by    —                                set when a newer belief wins
invalidated_at   —                                set when it is retired, never deleted
```

## Three ways things connect.

A graph is only useful if the right things meet. Team0 links entities in three independent ways.

1. 01Typed edgesA statement whose object is another entity: works at, reports to, introduced by, client of. Directed and typed.
2. 02Shared statementsOne statement concerns every entity it mentions. “Yogev met Tal through Yorai” links all three, even without an explicit edge.
3. 03Identity mergeThe same person arriving from different sources collapses into one record by deterministic key, so every source’s statements hang off one node.

## Two clocks.

Every statement carries when it became true in the world and, separately, when Team0 learned it.

A meeting on Monday can be learned on Wednesday. A deadline can be stated in June for a date in September. Keeping the two apart lets Team0 answer “what was true then” and “what did we know then” as different questions, order statements by when they were actually said rather than by the date they mention, and replay what any answer would have been at any point.

This is bitemporal in substance. Retirement is recorded as a single stamp rather than a closed validity interval, and nothing is overwritten.

## Three lanes of belief.

Not everything Team0 reads deserves to be believed. Every statement lands in exactly one lane, and the lanes cannot mix.

Trusted
:   Statements Team0 can assert as current, from sources and relationships the vocabulary recognises with enough precision.

Evidence
:   Searchable receipts: the email, the transcript line, the message. They can be found and cited, but they can never become belief through deduplication or repetition.

Candidate
:   Statements Team0 isn’t sure of: unfamiliar relationships, low-precision extractions, things said by an agent. Kept, visible, and never presented as fact.

Why the lanes matter

In most memory systems, anything stored is equally retrievable, so a rumour repeated three times starts to look like a fact. In Team0 deduplication and supersession are lane-aware. A later evidence row can reinforce evidence, but it can never mutate a trusted belief, and a candidate never becomes current because it shares words with one.

## An ontology held as data.

The controlled vocabulary lives in a registry, not in database tables. Adding a new source adds statements, not schema.

1. 01

   Cardinality drives supersession

   Each relationship is declared single-valued or multi-valued. Works at is single-valued, so a new employer replaces the old one. Knows is multi-valued, so a new contact is added beside the others.
2. 02

   Category drives relevance

   Each relationship belongs to a category with its own recency half-life. An opinion stays relevant for months; a scheduling detail does not.
3. 03

   Unknown relationships fail closed

   A relationship the vocabulary doesn’t know resolves through reviewed synonyms or lands as a candidate. Extraction can never invent a trusted relationship type.
4. 04

   The vocabulary can grow, with a human in the loop

   New attribute types can be proposed automatically from what is observed, but they stay inert until a person promotes them.

## Whose view is it?

A statement has a subject (what it is about) and, for views, a holder (who holds the view). They are different things.

“Bob prefers Dropbox”, said in a group chat, is Bob’s view about tools, not your preference. Team0 records the holder separately and marks whether a view is your own, a third party’s, or unclear. Your own preferences inform how Team0 understands you; other people’s opinions stay attributed to them and are never presented as yours.

## Compared with a second brain or memory layer.

|  | A typical second brain or memory layer | Team0 |
| --- | --- | --- |
| Unit of storage | Text chunks or free-form memories | Typed statements with subject, predicate, object and the records they concern |
| Time | A creation timestamp | When it became true and when it was learned, separately |
| Belief | Everything stored is equally retrievable | Trusted, evidence and candidate lanes that cannot mix |
| Attribution | The source document, sometimes | The exact source object, the supporting passage, and who holds the view |
| Change | New memories pile up beside old ones | Superseded and retired statements, kept in history with what changed them |
| New sources | New collections or indexes | New statements in the same graph; no schema change |

## Keep reading.

- [OverviewThe World Model](https://team0.ai/world-model)
- [Entity resolutionOne person, one record, carefully](https://team0.ai/world-model/entity-resolution)
- [Truth maintenanceHow beliefs are retired, never deleted](https://team0.ai/world-model/truth-maintenance)
- [Trust and scopeWho said it, who may see it](https://team0.ai/world-model/trust-and-scope)
- [Understanding EngineFrom graph to a read an agent can use](https://team0.ai/world-model/understanding-engine)
- [Memory vs understandingWhat a memory layer does, and what understanding adds](https://team0.ai/memory-vs-understanding)
- [The 31 problemsEverything you have to solve, in one list](https://team0.ai/agentic-understanding)

## Your agents will change. Your understanding shouldn’t.

[Back to the World Model](https://team0.ai/world-model)

Invite-only private beta.
