Type definitions
- Last UpdatedAug 19, 2026
- 2 minute read
Type definitions describe the structural model for entities, events, and streaming data. A type defines the set of properties, their data types, and how instances of that type are classified and related, independent of how data is stored or transmitted.
In current schema messages, the classification value identifies whether a type represents an entity, an event, or streamingdata.
Type definitions are declared as part of a schema message. Each type is categorized to show how it is meant to be used and can act as a foundation, a reusable part, or a model you can create instances from, depending on how it is defined.
Type classification
Each type can include a classification value that identifies how instances of the type are used. The supported classification values are entity, event, and streamingdata.
Use entity for modeled objects such as assets, equipment, locations, or systems. Use event for records of things that happen over a period of time, such as alarms or operational events. Use streamingdata for sequentially indexed measurements or observations that are sent through containers.
If classification is omitted, the type can be used as a reusable or backing type, such as a composed property type or enum reference, but it is not created directly as standalone instance data. A streamingdata type must define at least one indexed property using isindex.
Legacy classification values
Previous OMF 1.2 documentation used static and dynamic classification values.
In the current classification model, use entity in place of static for non-streaming asset or metadata types, and use streamingdata instead of dynamic for time-indexed measurement types.
Do not use static or dynamic in new examples unless documenting behavior for an endpoint that explicitly supports legacy OMF 1.2 messages.
Keywords used in a type definition
The following table describes the keywords that can be used in a type definition, including how each keyword is interpreted
|
Keyword |
Description |
|---|---|
|
id |
Unique identifier of the type within the schema |
|
version |
Identifies the version of the type definition. The value is a string and does not require a specific format. |
|
basetypeid |
Identifies a base type used for inheritance, allowing the current type to reuse and extend common properties |
|
classification |
Identifies how instances of the type are used. Supported values are entity, event, and streamingdata. If omitted, the type is a reusable or backing type and cannot be created directly as standalone instance data |
|
extrapolation |
Specifies how values are extrapolated when querying streaming data outside the range of recorded values. Supported values include are all, none, forward, and backward. This setting applies only to streaming data and is interpreted by the destination data store. |
|
tags |
Optional descriptive tags that can be used for grouping, filtering, or discovery. |
|
metadata |
Optional custom metadata associated with the type definition. |
|
properties |
Defines the set of properties supported by the type.. |