Claims and evidence
The Gateway does not store products. It stores claims — a subject, a predicate and an
object — and the evidence each claim rests on. What you receive as data is a
projection of those claims, assembled for convenience.
{ "status": "found", "data": { "gtin": "04012345678901", "brand_name": "Example" }, "claims": [ { "subject": "gtin14:04012345678901", "predicate": "brand_name", "object": "Example", "claim_type": "ASSERTION", "trust_level": "L3", "source_ref": "…", "evidence_refs": ["…"] } ], "sources": [{ "id": "…", "kind": "publisher_endpoint", "licence_name": "…" }]}Claim types
Section titled “Claim types”| Type | Means |
|---|---|
FACT |
Directly observed in a document. |
SOURCE |
A statement about a source itself. |
ASSERTION |
Stated by an identified party. |
VALIDATION |
The outcome of a rule evaluated against a subject. |
INFERENCE |
Derived from other claims. |
ESTIMATION |
Approximated where no direct value exists. |
UNKNOWN |
Recorded absence of a determination. |
INFERENCE and ESTIMATION cannot be stored without a method — the database rejects
them otherwise. A derived number that cannot say how it was derived is not something this
service will serve.
No claim without evidence
Section titled “No claim without evidence”FACT and ASSERTION claims cannot exist without at least one evidence row. This is a
database constraint, not a convention in the ingestion code, so it holds regardless of
which path wrote the claim.
INFERENCE, ESTIMATION and UNKNOWN are exempt: their backing is the method and the
claims they were derived from, not a document.
What you get today
Section titled “What you get today”claims and sources are populated by get_dpp only, on both the REST and MCP
surfaces. Every other operation returns them as empty arrays.
An empty claims array therefore does not mean “no evidence exists for this answer” — it
means that operation does not project it yet. Do not build a confidence signal on the
array’s length.
The per-claim confidence field is likewise never emitted: scoring needs a method that has
not been decided, and shipping a placeholder number would be worse than shipping nothing.