> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.ovalbee.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.ovalbee.com/_mcp/server.

# Ontologies

An **ontology** is a named list of the **classes** you draw and the **tags** you attach: *car*, *pedestrian*, *traffic light*, plus *occluded* or *weather: rain*. Labeling stages hand it to labelers, datasets record which one their annotations are written in, and models remember the one they were trained on.

## Versions

Ontologies are versioned. Editing one never changes what's already there: you edit, then **publish**, and the result is a new version (v2, v3...). Publishing an unchanged list creates nothing.

Every dataset is **pinned** to one exact ontology version — that's the statement "these annotations are written in these words". A pin only ever moves forward: when a labeling stage or an import adds classes, the dataset moves to the newer version, and nothing moves it back.

Class names are shown from the newest version, so renaming *ped* to *pedestrian* reaches old datasets and old predictions without relabeling or retraining.

## Classes and tags

* A **class** (*Object* in the editor) is something drawn on the image: a box, a polygon, a mask. You can restrict a class to certain shapes, or allow any.
* A **tag** is attached to a whole image or to an object. It can be a plain flag, or carry a number, a text, a date, or one value from a fixed list such as `day, night`. A tag can apply to images, objects, or both.

Each class and tag can have a **color**, a one-letter **hotkey** for the annotation tool, and a **description** — a hint for labelers, which models that take text prompts also use.

**Order matters.** Models refer to classes by their position in the list, so reordering classes creates a new version just like adding one does.

## Where ontologies come from

You rarely need to type one in from scratch:

* **Imports** create or extend one from the classes found in the imported data.
* **Training** records the model's class list.
* **Labeling stages** extend the ontology when labelers are allowed to add classes and tags.
* The [Create ontology](/node-library/nodes/dataset-ops-create-ontology) node creates or edits one as part of a flow.

You can also create and edit ontologies directly on the **Ontologies** page in the main sidebar. Each ontology's page shows its classes and tags, its version history, and which datasets and models use which version.

## Shared ontologies

The **Shared** tab lists vocabularies installed with the pretrained model catalog, such as the 80 COCO classes. They're read-only and can't be assigned to your datasets. When you add a pretrained model to your registry, it gets its own copy in your workspace.

## Related pages

* [Datasets and versions](/concepts/datasets) — what an ontology pin belongs to.
* [Labeling](/concepts/labeling) — the vocabulary labelers work with.
* [Models and deployments](/concepts/models) — the class list a model version was trained on.