> ## Documentation Index
> Fetch the complete documentation index at: https://docs.corvera.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Concepts & canonical entities

> This is the vocabulary your context layer is built on. Your concepts, their attributes, and your canonical entities make up your single source of truth.

Every source names things its own way. For example, one retailer calls a product
`COCA COLA CLASSIC 330ML`, another `Coke Classic 330`, whilst your ERP uses a SKU
code. The context layer gives you one agreed vocabulary to map all of that onto, so
your AI tools answer from a single, consistent picture. Three ideas make it up.

## Concept

A **concept** is a kind of thing you track - e.g., Products, Retailers, Categories,
and so on. Each concept has a name and a plain-language description, and it's the unit you
switch between across the workspace (the concept switcher at the top of Mappings
selects which concept you're curating).

<Frame caption="The concept switcher at the top of Mappings">
  <img src="https://mintcdn.com/corvera/rEXuEaqSK-ku2dz1/images/concept-switcher.png?fit=max&auto=format&n=rEXuEaqSK-ku2dz1&q=85&s=0f88204f8158298ec0fabdfab234a5df" alt="The concept switcher at the top of the Mappings view, set to Products" width="2610" height="604" data-path="images/concept-switcher.png" />
</Frame>

## Attribute

An **attribute** is a field of a concept. For example, a Product concept might have a
name, a category, and a net weight. Each attribute has a type:

| Type       | Holds                         |
| ---------- | ----------------------------- |
| **Text**   | Free text                     |
| **Number** | Numeric values                |
| **Enum**   | One of a fixed set of options |
| **Date**   | A date                        |
| **Bool**   | True / false                  |
| **Ref**    | A reference to another entity |

Some attributes are flagged as **match keys** (used to line raw values up against the
right record) or as **unique** (no two entities may share the value).

## Canonical entity

A **canonical entity** is your single master record for one real-world thing. This
could be a product you sell or a retailer you sell to. It carries a name, a status
(active or deprecated), and a value for each of its concept's attributes. Raw values
from your [sources](/context-layer/sources) get [mapped](/context-layer/mappings) onto
canonical entities, and that's what makes a question like *"units sold by product last
week"* answerable across every source at once as they all roll up to the same
canonical records.

<Note>
  Concepts and canonical entities are the vocabulary; [Mappings](/context-layer/mappings)
  is where you connect each source's raw values to them.
</Note>
