Cognite core data model
Cognite's core data model—CogniteCore—offers standardized building blocks for industrial data, forming the basis for more specialized models. It's available from the cdf_cdm
system space.
The core data model uses two methods to define properties: core features and core concepts:
-
The core features are sets of properties that are available for many concepts.
-
The core concepts have properties that are specific to a single concept.
Each core feature and core concept comes with a matching container and view. The exceptions are stateless concepts, which only have a view and no container. The containers have efficient indexes and constraints and can be used at scale out-of-the-box. The views combine the properties of the core features and the core concepts.
The core data model can be extended, currently via GraphQL. For example, Cognite's industrial data models extend the core data model to meet common, industry-specific needs.
Core features
This section collects commonly used properties, with common definitions. If a core concept uses a different definition, or narrows the scope of, an otherwise common property, it will be called out in the section that defines the core concept.
CogniteDescribable
The CogniteDescribable core feature has properties to create names and descriptions for concepts.
Property | Type | Description |
---|---|---|
name | String | The name of the instance. |
description | String | The description of the instance. |
tags | List of strings | A list of tags for the instance. Max: 1000 |
aliases | List of strings | Alternative names for the instance. |
CogniteSourceable
The CogniteSourceable core feature has properties to represent how the source information in concepts is stored.
Property | Type | Description |
---|---|---|
sourceId | String | The identifier in the source system. |
sourceContext | String | The context of the sourceId . For systems where the sourceId is globally unique, leave sourceContext empty. |
source | Direct relation to a source system | A direct relation to a source system instance. |
sourceCreatedTime | Timestamp | The time the instance was created in the source system (if available). |
sourceUpdatedTime | Timestamp | The time the instance was updated in the source system (if available). |
sourceCreatedUser | String | The user ID for the user who created the instance in the source system. It may or may not be the same at the CDF user ID. |
sourceUpdatedUser | String | The user ID for the user who updated the instance in the source system. It may or may not be the same at the CDF user ID. |
CogniteSourceSystem
The CogniteSourceSystem core feature has properties to represent the source system where the information is stored.
Property | Type | Description |
---|---|---|
version | String | The version identifier for the source system. |
manufacturer | String | The manufacturer of the source system. |
The following core features are also available for this core feature: CogniteDescribable
CogniteSchedulable
The CogniteSchedulable core feature has properties to represent start and end times for a concept, for example an activity.
Property | Type | Description |
---|---|---|
startTime | Timestamp | The start time of an activity (or similar). |
endTime | Timestamp | The end time of an activity (or similar). |
scheduledStartTime | Timestamp | The planned start time of an activity (or similar). |
scheduledEndTime | Timestamp | The planned end time of an activity (or similar). |
CogniteVisualizable
The CogniteVisualizable core feature has properties to enable a standard display of objects and to represent a reference to a 3D resource.
Property | Type | Description |
---|---|---|
object3D | Direct relation to Cognite3DObject | The related Cognite3DObject instance representing the 3D resource. |
Core concepts
CogniteUnit
The CogniteUnit concept has properties to represent a single unit of measurement, for example Ampere.
Property | Type | Description |
---|---|---|
symbol | String | The symbol for the unit of measurement. |
quantity | Enum | The physical quantity the unit measures. |
source | String | The source of the unit specification. |
sourceReference | String | A reference to the source of the unit specification. Typically, a URL to a standard, or to documentation of the source. |
The following core features are also available for this concept: CogniteDescribable
CogniteAsset
The CogniteAsset concept has properties to represent systems that support industrial functions or processes. Assets are often called "functional locations". You can structure assets hierarchically according to your organization's criteria. For example, an asset can represent a water pump that's part of a larger pump station asset at a clarification plant asset.
Property | Type | Description |
---|---|---|
parent | Direct relation | A direct relation to the parent of the asset. |
children | Reverse direct relation list | An automatically updated list of assets with this asset as their parent. |
root | Direct relation | An automatically updated reference to the top-level asset of the hierarchy. |
path | List of direct relations | An automatically updated ordered list of this asset's ancestors, starting with the root asset. Enables subtree filtering to find all assets under a parent. |
pathLastUpdatedTime | Timestamp | The last time path was updated for this asset. |
equipment | Reverse direct relation list to CogniteEquipment | An automatically updated list of equipment related to the asset. |
timeSeries | Reverse direct relation list to CogniteTimeseries | An automatically updated list of time series related to the asset. |
assetClass | Direct relation to CogniteAssetClass | Specifies the class of the asset, for example Pump or Heat exchanger. |
type | Direct relation to CogniteAssetType | Specifies the type of the asset, for example Centrifugal pump or Air cooled heat exchanger. |
activities | Reverse direct relation list to CogniteActivity | An automatically updated list of activities related to the asset. |
files | Reverse direct relation list to CogniteFile | An automatically updated list of files related to the asset. |
The following core features are also available for this concept: CogniteDescribable, CogniteSourceable, CogniteVisualizable
CogniteAssetClass
The CogniteAssetClass concept has properties to represent the class of an asset, for example Pump or Heat exchanger.
Property | Type | Description |
---|---|---|
code | String | A unique identifier for the class of asset. |
standard | String | A text string to specify which standard the class is from. |
The following core features are also available for this concept: CogniteDescribable
CogniteAssetType
The CogniteAssetType concept has properties to represent the type of an asset, for example Centrifugal pump or Air cooled heat exchanger.
Property | Type | Description |
---|---|---|
code | String | A unique identifier for the type of asset. |
standard | String | A text string to specify which standard the type is from. |
assetClass | Direct relation to CogniteAssetClass | Specifies the class the type belongs to. |
The following core features are also available for this concept: CogniteDescribable
CogniteEquipment
The CogniteEquipment concept has properties to represent physical supplies or devices. Example: a pump or a valve.
Property | Type | Description |
---|---|---|
asset | Direct relation to CogniteAsset | The asset the equipment is related to. |
activities | Reverse direct relation list to CogniteActivity | An automatically updated list of activities related to the equipment. |
timeSeries | Reverse direct relation list to CogniteTimeseries | An automatically updated list of time series related to the equipment. |
serialNumber | String | The serial number of the equipment. |
manufacturer | String | The manufacturer of the equipment. |
equipmentType | Direct relation to CogniteEquipmentType | Specifies the type of the equipment. |
files | List of direct relations to CogniteFile | A list of files the equipment relates to. For example, documentation and data sheet that belong to this equipment. |
The following core features are also available for this concept: CogniteDescribable, CogniteSourceable
CogniteEquipmentType
The CogniteEquipmentType concept has properties to represent types of equipment, for example centrifugal pumps.
Property | Type | Description |
---|---|---|
code | String | A unique identifier for the type of equipment. |
equipmentClass | String | The class of equipment. |
standard | String | An identifier for the standard this equipment type is sourced from, for example, ISO14224. |
standardReference | String | A reference to the source of the equipment standard. |
The following core features are also available for this concept: CogniteDescribable
CogniteFile
The CogniteFile concept has properties to represent files.
Property | Type | Description |
---|---|---|
asset | List of direct relations to CogniteAssets | A list of assets this file is related to. |
equipment | Reverse direct relation list to CogniteEquipment | An automatically updated list of equipment this file is related to. |
mimeType | String | The MIME type of the file. |
directory | String | Contains the path elements from the source (if the source system has a file system hierarchy or similar). |
isUploaded | Boolean | Specifies if the file content has been uploaded to Cognite Data Fusion or not. |
uploadedTime | Timestamp | The time the file upload completed. |
category | Direct relation to CogniteFileCategory | Specifies the detected category the file belongs to. |
The following core features are also available for this concept: CogniteDescribable, CogniteSourceable
CogniteFileCategory
The CogniteFileCategory concept has properties to represent the categories of files as determined by contextualization or categorization.
Property | Type | Description |
---|---|---|
code | String | An identifier for the category, for example, AA for Accounting (from Norsok.) |
standard | String | The name of the standard the category originates from, for example Norsok . |
standardReference | String | A reference to the source of the category standard. |
The following common properties are also available for this concept: CogniteDescribable
CogniteActivity
The CogniteActivity concept has properties to represent activities. Activities typically happen over a period and have a start and end time.
Property | Type | Description |
---|---|---|
assets | List of direct relations to CogniteAsset | A list of assets this activity is related to. |
equipment | List of direct relations to CogniteEquipment | A list of equipment this activity is related to. |
timeSeries | List of direct relations to CogniteTimeseries | A list of time series this activity is related to. |
The following core features are also available for this concept: CogniteDescribable, CogniteSourceable, CogniteSchedulable
CogniteTimeSeries
The CogniteTimeSeries concept has properties to represent a series of data points in time order, for example the temperature readings from a water pump.
Property | Type | Description |
---|---|---|
isStep | Boolean | Specifies whether the time series is a step time series or not. |
type | Enum | Specifies the data type of the data points. |
sourceUnit | String | The unit specified in the source system. |
unit | Direct relation to CogniteUnit | The unit of the time series. |
assets | List of direct relations to related CogniteAsset | A list of assets the time series is related to. |
equipment | List of direct relations to CogniteEquipment | A list of equipment the time series is related to. |
activities | Reverse list of direct relations to CogniteActivity (and subtypes) | An automatically updated list of activities the time series is related to. |
The following core features are also available for this concept: CogniteDescribable, CogniteSourceable
CogniteAnnotation
The CogniteAnnotation concept has properties to represent annotations from contextualization results or links.
Property | Type | Description |
---|---|---|
confidence | float64 | The confidence that this is a good match. |
status | Enum | The status of the annotation. Valid values: Suggested , Approved , and Rejected . |
The following core features are also available for this concept: CogniteDescribable, CogniteSourceable
CogniteDiagramAnnotation
The CogniteDiagramAnnotation concept has properties to represent an annotation for a diagram.
Property | Type | Description |
---|---|---|
startNodePageNumber | int64 | The number of the page on which the annotation is located in the startNode file. The first page has number 1. |
endNodePageNumber | int64 | The number of the page on which the annotation is located in the endNode file if an endNode is present. The first page has number 1. |
startNodeXMin | float64 | A value between [0,1]. The minimum abscissa of the bounding box (left edge). Must be strictly less than startNodeXMax . |
startNodeXMax | float64 | A value between [0,1]. The maximum abscissa of the bounding box (right edge). Must be strictly more than startNodeXMin . |
startNodeYMin | float64 | A value between [0,1]. The minimum ordinate of the bounding box (bottom edge). Must be strictly less than startNodeYMax . |
startNodeYMax | float64 | A value between [0,1]. The maximum ordinate of the bounding box (top edge). Must be strictly more than startNodeYMin . |
startNodeText | String | The text extracted from within the bounding box on the startNode . |
endNodeXMin | float64 | A value between [0,1]. The minimum abscissa of the bounding box (left edge). Must be strictly less than endNodeXMax . Only applicable if an endNode is defined. |
endNodeXMax | float64 | A value between [0,1]. The maximum abscissa of the bounding box (right edge). Must be strictly more than endNodeXMin . Only applicable if an endNode is defined. |
endNodeYMin | float64 | A value between [0,1]. The minimum ordinate of the bounding box (bottom edge). Must be strictly less than endNodeYMax . Only applicable if an endNode is defined. |
endNodeYMax | float64 | A value between [0,1]. The maximum ordinate of the bounding box (top edge). Must be strictly more than endNodeYMin . Only applicable if an endNode is defined. |
endNodeText | String | The text extracted from within the bounding box on the endNode . Only applicable if an endNode is defined. |
The following core features are also available for this concept: CogniteDescribable, CogniteSourceable, CogniteAnnotation