For the complete documentation index, see llms.txt. This page is also available as Markdown.

Properties, relations, and Item Properties

Create typed schema content from the Ontology builder or directly from Annotation Workbench.

Properties, relations, and Item Properties all become annotation output, but they attach to different owners. Decide the owner first; then choose type, required state, dynamic behavior, validation, conditions, and operator guidance.

Choose the correct structure

Structure
Attach it to
Use it for
Example

Property

One annotation object or span.

Structured detail about that instance.

Person → Helmet status.

Relation

Two or more annotation instances.

A named semantic connection with defined targets.

Person → operates → Forklift.

Item Property

The full asset, sequence, document, study, or Data Group.

Whole-item annotation output independent of one object.

Scene → Weather; Study → Overall quality.

Source metadata

The source resource outside annotation output.

Acquisition or business context used to find or prepare data.

Camera ID, source path, acquisition date.

Path 1: create schema content in the Ontology builder

Ontology entity-type menu with Item Properties, object detection, text, audio, and relation types

Select the entity type before naming a new class, Item Property, event, entity, or relation. The available groups reflect the supported annotation structures.

  1. Open the workspace ontology or the project's ontology.

  2. Open Select type in the entity tree.

  3. Choose an Item Property type, an object-detection geometry, a text Entity, an audio Event, or Relation.

  4. Enter the new entity name and choose the add action.

  5. Select the resulting class or property in the tree.

  6. For a class, use Add Property in the schema canvas; choose Single choice, Multiple choice, or Text and the scalar type needed by the contract.

  7. Add description, options, Required state, Dynamic state where supported, default value, validation, help text, and conditional dependency.

  8. Review Summary, JSON, statistics, and Logic Map before testing in Workbench.

Object-detection options include Bounding box, Cuboid, Polygon, Mask, Keypoint, Line, and Skeleton. Geometry is part of the class contract; do not change representation simply because another tool is faster.

Build properties and conditional children

Ontology with three levels of conditional single-choice properties

The builder shows the parent option, WHEN condition, child property, and deeper child branch directly in the schema canvas.

Use controlled choice properties for stable enumerations and Text for string, number, boolean, date, datetime, URL, email, or object-ID values supported by the current builder. A child property belongs beneath the parent option that makes it relevant. The illustrated schema asks a second question when Bottle is selected, then asks for a glass color only when Glass is selected.

Deep conditional nesting is supported, but every branch adds operator and downstream complexity. Keep only questions that change meaning or acceptance.

Path 2: extend the ontology from Annotation Workbench

Image Annotation Workbench with Classes panel and item-level controls

Workbench exposes the active project's classes beside the source item so ontology changes can be tested in the same operator context in which they will be used.

Workbench provides two levels of schema authoring:

Quick class and class management

  • Use Quick Create Class when a compatible class is missing for the active editor.

  • Open the class-management entry and choose Manage Classes for the lightweight manager.

  • Select the annotation type, search for an existing class or create one, and choose Add.

  • Configure name, color, description, Required state, and hotkey. Geometry remains fixed after creation.

  • Use the same manager to create lightweight Item Properties and relations.

  • Choose Manage Ontologies when the complete builder, JSON, logic map, versions, or advanced schema controls are required; Unitlab opens the full builder in a new tab.

Add a property from an annotation object

  1. Create or select an annotation object in Workbench.

  2. In the object inspector, choose Add property.

  3. Enter name and description.

  4. Set Required and, for supported video or medical work, Dynamic.

  5. Choose the property type and scalar type, then configure options where applicable.

  6. Choose Add property, set the value on the selected object, and inspect the result in the timeline when Dynamic is enabled.

Add a relation

Select an object, choose Add relation, name and describe the relation, define the allowed target classes, save it, then create the relationship between the intended source and target annotations. Test direction and target restrictions; a relation label without direction is ambiguous downstream.

Add an Item Property

Open Item properties at the top of the inspector, choose Add item properties, enter name and description, configure Required and Dynamic, choose the type and options, then add and set the value. Item Properties are independent of one annotation object.

Static and Dynamic properties

A static property applies one value to the object or item. In video and medical annotation, a Dynamic property stores frame-aware states while the owning identity remains the same.

  • Dynamic class-property example: one Person track keeps the same identity while Helmet status changes from Not visible to Present to Absent.

  • Dynamic Item Property example: the sequence-level Weather changes from Clear to Rain, or Procedure phase changes from Preparation to Inspection.

In Workbench, the first value creates a keyframe or range. Changing the value later creates another state. Expand the parent object or Item Property row in the timeline to inspect child property ranges and transition points; adjust temporal boundaries only after reviewing the source frames.

Before publishing

  • confirm every field owner, type, ID, default, help text, Required state, Dynamic state, validation, and condition;

  • traverse every nested branch in Workbench;

  • create representative relations and verify source, target, and direction;

  • inspect static and dynamic Item Properties in the correct editor;

  • compare JSON and sample release output to the downstream schema.


Explore related Unitlab capabilities: AI training-data annotation