Docs / Schemas / classification
Classification 0.8.0
Represent the result of a classification. Supports predicted labels, confidence scores, and vocabulary.
$idhttps:// oatschema.org/ 0.8.0/ classification - Latest
https:// oatschema.org/ classification - Versions
- Source
- v0.8.0 on GitHub
Schema
{ "x-license": { "id": "Apache-2.0", "notice": "Copyright 2025-2026 The OATS Authors", "url": "https://github.com/oatschema/oats/blob/main/LICENSE" }, "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://oatschema.org/0.8.0/classification", "title": "Classification", "x-version": "0.8.0", "description": "Represent the result of a classification. Supports predicted labels, confidence scores, and vocabulary.", "type": "object", "properties": { "target": { "type": "string", "description": "The name of or a reference to the variable being classified (e.g., 'sentiment', 'topic').", "maxLength": 256 }, "producer": { "type": "string", "description": "The creator (model, tool or author) of this classification.", "maxLength": 1024 }, "score_explanation": { "type": "string", "description": "A brief explanation of what the score represents (e.g., 'Model confidence probability [0, 1]', 'Sentiment score [-1, 1]').", "maxLength": 256 }, "vocabulary": { "type": "array", "description": "A list of the possible labels in this classification scheme. For more than 100 labels, use 'vocabulary_url'.", "maxItems": 100, "uniqueItems": true, "items": { "type": "string", "description": "A single valid label from the vocabulary.", "maxLength": 128 } }, "vocabulary_url": { "type": "string", "description": "A URL pointing to a more detailed external vocabulary or ontology.", "format": "uri", "maxLength": 2048 }, "labels": { "type": "array", "description": "The labels assigned. Can be empty if no labels match.", "maxItems": 10000, "minItems": 0, "items": { "type": "object", "properties": { "label": { "type": "string", "description": "The predicted label. Must be a member of 'vocabulary' when it is present.", "maxLength": 128 }, "score": { "type": "number", "description": "A normalized score for this label (-1.0 to 1.0). Depending on the use case, this may represent a probability (0 to 1) or a bipolar metric like sentiment (-1 to 1).", "minimum": -1, "maximum": 1 }, "timestamp": { "type": "string", "format": "date-time", "maxLength": 128, "description": "The specific time this label applies to. Used for discrete time-series or state logging." }, "attributes": { "type": "object", "description": "Additional metadata about this specific label.", "maxProperties": 16, "propertyNames": { "maxLength": 128 }, "additionalProperties": { "anyOf": [ { "type": "string", "maxLength": 1024 }, { "type": "number" }, { "type": "boolean" }, { "type": "null" } ] } } }, "required": [ "label" ], "additionalProperties": false } }, "attributes": { "type": "object", "description": "Arbitrary metadata relevant to this classification.", "maxProperties": 16, "propertyNames": { "maxLength": 128 }, "additionalProperties": { "anyOf": [ { "type": "string", "maxLength": 1024 }, { "type": "number" }, { "type": "boolean" }, { "type": "null" } ] } } }, "required": [ "labels" ], "additionalProperties": false}
Examples
Records that pass validation against this schema.
classification-1
{ "score_explanation": "Model confidence probability, where 1.0 is 100% confident.", "vocabulary": [ "animal", "cat", "dog", "house", "vehicle" ], "labels": [ { "label": "animal", "score": 0.98 }, { "label": "cat", "score": 0.95 }, { "label": "house", "score": 0.75 } ]}
Fields
-
targetstringThe name of or a reference to the variable being classified (e.g., 'sentiment', 'topic').
- at most 256 characters
-
producerstringThe creator (model, tool or author) of this classification.
- at most 1024 characters
-
score_explanationstringA brief explanation of what the score represents (e.g., 'Model confidence probability [0, 1]', 'Sentiment score [-1, 1]').
- at most 256 characters
-
vocabularyarray of stringA list of the possible labels in this classification scheme. For more than 100 labels, use 'vocabulary_url'.
Each item: A single valid label from the vocabulary.
- at most 100 items
- items must be unique
- each at most 128 characters
-
vocabulary_urlstringA URL pointing to a more detailed external vocabulary or ontology.
- at most 2048 characters
- format
uri
-
labelsarray of object requiredThe labels assigned. Can be empty if no labels match.
- 0 to 10000 items
-
labelstring requiredThe predicted label. Must be a member of 'vocabulary' when it is present.
- at most 128 characters
-
scorenumberA normalized score for this label (-1.0 to 1.0). Depending on the use case, this may represent a probability (0 to 1) or a bipolar metric like sentiment (-1 to 1).
- -1 to 1
-
timestampstringThe specific time this label applies to. Used for discrete time-series or state logging.
- at most 128 characters
- format
date-time
-
attributesobjectAdditional metadata about this specific label.
- at most 16 properties
- keys at most 128 characters
-
*string | number | boolean | nullAny other key.
- string: at most 1024 characters
-
attributesobjectArbitrary metadata relevant to this classification.
- at most 16 properties
- keys at most 128 characters
-
*string | number | boolean | nullAny other key.
- string: at most 1024 characters
Copyright 2025-2026 The OATS Authors. Licensed under Apache-2.0.