Store what you know. Find out how it connects.
Relata stores arbitrary information, discovers evidence-backed relationships between items, and retrieves related knowledge with an explanation of why each result was returned.
Three numbers, never mixed up
Most systems collapse "these documents read alike", "these documents are connected" and "this document answers your question" into a single relevance figure. They are three different claims with three different meanings, and Relata keeps them apart in storage, in the API and on screen.
Semantic similarity
How alike are these two pieces of text?
Cosine distance between embeddings. Nothing more. Two incident reports written by the same team in the same house style will score highly and describe entirely different events.
Relationship strength
How well evidenced is a link between two items?
A weighted sum of named signals, each stored with its own value and weight, so the arithmetic is always inspectable. Not a probability.
Query relevance
How well does this item answer this question?
Several retrieval paths fused by rank. Comparable within one result set, not across queries — and it says so.
Similarity is not a relationship
This is the distinction the whole design exists to preserve. Two documents that share wording are not thereby connected; two documents that mention the same company are not thereby about the same thing. Relata records what it actually found:
| Signal | Value | Strength | Weight |
|---|---|---|---|
| claim_contradiction | cost: 42,000 and 51,500 | 1.00 | 0.22 |
| shared_entity | Example Ltd | 1.00 | 0.25 |
| semantic_similarity | 0.89 cosine | 0.76 | 0.30 |
Both figures are named. Relata does not decide which is correct.
What a language model is allowed to do
A model may classify a relationship's type or describe a connection. Its opinion is one signal, weighted 0.15 — below the threshold at which a relationship is stored at all. A model cannot create a connection on its own, however confident it is. That is a property of the arithmetic, not a promise, and there is a test asserting it.
| Signal | Weight | What it means |
|---|---|---|
content_hash_match |
0.45 | Byte-identical content. |
semantic_similarity |
0.30 | How alike the wording is, rebased so that ordinary similarity counts for little. |
shared_entity |
0.25 | An exact entity match, discounted by how common that entity is. |
claim_support |
0.22 | Two statements agree about the same subject. |
claim_contradiction |
0.22 | Two statements disagree about the same subject. |
model_classification |
0.15 | A language model's opinion. One signal, weighted below the storage threshold, so it can never create a relationship on its own. |
shared_concept |
0.12 | Overlapping concept vocabulary. |
alias_entity |
0.10 | A match through an alias a person confirmed. Unconfirmed candidates count for nothing. |
temporal_proximity |
0.10 | Created close together in time. |
shared_metadata |
0.08 | Matching metadata you supplied. |
user_confirmation |
1.00 | A person confirmed it. This dominates everything else. |
user_rejection |
-1.00 | A person rejected it. This drives the score to zero. |
What it will not do
- It will not merge two entities because their names look alike. "Example Ltd" and "Example Holdings Ltd" are different companies far more often than they are typos of each other. Similar names become a candidate alias awaiting a person's confirmation, and a confirmed alias still does not merge the records.
- It will not infer causation from sequence. Two things happening in order yields a chronological statement and nothing more.
- It will not hide conflicting evidence. Contradictions between retrieved documents are surfaced independently of what any model said about them.
- It will not present an inference as a fact. Every discovered relationship arrives as a proposal, labelled as one, and nothing is auto-confirmed.
- It will not rewrite your originals. The bytes you supplied are stored verbatim; everything else is derived and reproducible.
Honest about the limits
Relationship scores are heuristic strengths, not calibrated probabilities — the weights were chosen by judgement, not fitted to labelled data. A 0.7 does not mean "70% likely to be real". Deterministic extraction is deliberately narrow. There is no OCR. Prompt-injection defences make injection much harder and bound its effect; they are not a proof.
The full account is on the how-it-works page, including what is verified and what is merely intended.