Docs / Schemas / classification / 0.3.0
File Classification 0.3.0
Represent the result of a classification. Supports predicted labels, confidence scores, and vocabulary.
This is an older version of classification.
The latest version is 0.8.0. Releases before 0.7.0 use the $id https:/ and are served by DorsalHub.
$idhttps:// dorsalhub.com/ schemas/ open/ classification - Latest
https:// oatschema.org/ classification - Versions
- Source
- v0.3.0 on GitHub
Schema
{ "x-license": { "id": "Apache-2.0", "notice": "Copyright 2025-2026 Dorsal Hub LTD", "url": "https://github.com/dorsalhub/open-validation-schemas/blob/main/LICENSE" }, "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://dorsalhub.com/schemas/open/classification", "title": "File Classification", "version": "0.3.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.", "maxItems": 100, "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": "An array of labels applied to the file. Can be empty if no labels match.", "maxItems": 10000, "minItems": 0, "items": { "type": "object", "properties": { "label": { "type": "string", "description": "The predicted label.", "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, "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, "additionalProperties": { "anyOf": [ { "type": "string", "maxLength": 1024 }, { "type": "number" }, { "type": "boolean" }, { "type": "null" } ] } } }, "required": [ "labels" ], "allOf": [ { "if": { "properties": { "labels": { "maxItems": 0 } } }, "then": { "anyOf": [ { "required": [ "vocabulary" ] }, { "required": [ "vocabulary_url" ] }, { "required": [ "producer" ] } ] } } ], "additionalProperties": false}
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.
Each item: A single valid label from the vocabulary.
- at most 100 items
- 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 requiredAn array of labels applied to the file. Can be empty if no labels match.
- 0 to 10000 items
-
labelstring requiredThe predicted label.
- 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
-
*string | number | boolean | nullAny other key.
- string: at most 1024 characters
-
attributesobjectArbitrary metadata relevant to this classification.
- at most 16 properties
-
*string | number | boolean | nullAny other key.
- string: at most 1024 characters
Rules:
-
When
labelsis empty: at least one ofvocabulary,vocabulary_url,producermust be present.Show the JSON Schema
{ "if": { "properties": { "labels": { "maxItems": 0 } } }, "then": { "anyOf": [ { "required": [ "vocabulary" ] }, { "required": [ "vocabulary_url" ] }, { "required": [ "producer" ] } ] }}
Copyright 2025-2026 Dorsal Hub LTD. Licensed under Apache-2.0.