Concepts
Why not files
Where notes and vector dumps stop working, and what a graph does instead.
Most teams keep what they know in a folder of notes, or in a vector store of chunked documents. Both work. Both fail on the same four things, and they fail for the same reason: the text is stored, but nothing about the text is stored.
The four things text does not carry
| A file or a flat vector dump | A cortex | |
|---|---|---|
| Identity | "Dana Ito", "[email protected]" and "D. Ito" are three unrelated strings. | Canonical normalization collapses them into one node, so a fact about any spelling is a fact about the person. |
| Relationships | Proximity only. Two facts are related if they happen to sit near each other in a document, or near each other in embedding space. | Typed edges. A row is from a person, owned_by an organization, attended_by a set of people, because a rule said so. |
| Provenance | A chunk, sometimes with a filename. | A universal_id that resolves to the exact source row, in every layer, plus a graph link that highlights it. |
| Ranking | One similarity score, which says how close the text is, never how trustworthy the claim is. | Every membership and edge is tagged with how it was derived, from a declared field down to a probabilistic extraction, so you can rank by kind of evidence. |
Add more documents and none of those four improve. Identity gets worse: more spellings, more duplicates, more near-identical chunks competing for the same slots in a result set. Search over a pile of text returns more text. It does not return an answer.
What a graph gives you instead
Canonical identity
Extraction rules normalize a value before it becomes a node: emails, phone numbers and URLs each have their own normalization. Two spellings of the same person land on one node. See typed entities.
Typed edges
Rules also connect rows that share a common value at the same path, which is the mechanism that turns flat rows into a graph rather than a list.
A trust ladder
Every edge records how it was produced. A declared field outranks an exact lexical match, which outranks a geometric similarity, which outranks an LLM extraction. See the derivation ladder.
Citations
Every result carries universal ids and a graph link. A claim you cannot trace is a claim you can drop.
Retrieval, not search
The practical difference shows up in what your model receives. A vector dump hands it the nearest chunks of text and leaves the reading to the model. A cortex hands it a small set of scored, typed, cited results, so the model's context carries answers rather than a haystack to search.
That is also why the same setup helps a small or local model rather than only a large one. See context and inference cost.
What files are still good for
Nothing here says stop keeping files. Files are the source. A vault, a Drive
folder and an export are all normal inputs, and a row can point at a file on the
office drive through file_path while its text lives in the graph. The argument
is about what you query, not about where the original lives.