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_core
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 | Reverse 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
3D concepts
Cognite3DTransformation
Defines a comprehensive 3D transformation, enabling precise adjustments to an object's position, orientation, and size in 3D space. It allows for the translation of objects along the three spatial axes, rotation around these axes using Euler angles, and scaling along each axis to modify the object's dimensions.
Property | Type | Description |
---|---|---|
translationX | Float | The displacement of the object along the X-axis in 3D space. |
translationY | Float | The displacement of the object along the Y-axis in 3D space. |
translationZ | Float | The displacement of the object along the Z-axis in 3D space. |
eulerRotationX | Float | The rotation of the object around the X-axis, measured in degrees. |
eulerRotationY | Float | The rotation of the object around the Y-axis, measured in degrees. |
eulerRotationZ | Float | The rotation of the object around the Z-axis, measured in degrees. |
scaleX | Float | The scaling factor applied to the object along the X-axis. |
scaleY | Float | The scaling factor applied to the object along the Y-axis. |
scaleZ | Float | The scaling factor applied to the object along the Z-axis. |
CogniteCubeMap
Holds references to projections for a cube surrounding an 3D entity extending this, such as Image360.
Property | Type | Description |
---|---|---|
front | Direct relation to a CogniteFile | A direct relation to a file holding the front projection of the cube map. |
back | Direct relation to a CogniteFile | A direct relation to a file holding the back projection of the cube map. |
left | Direct relation to a CogniteFile | A direct relation to a file holding the left projection of the cube map. |
right | Direct relation to a CogniteFile | A direct relation to a file holding the right projection of the cube map. |
top | Direct relation to a CogniteFile | A direct relation to a file holding the top projection of the cube map. |
bottom | Direct relation to a CogniteFile | A direct relation to a file holding the bottom projection of the cube map. |
Cognite3DObject
The virtual position representation of an object in the physical world, connecting an asset to one or more 3D resources.
Property | Type | Description |
---|---|---|
asset | Reverse direct relation to CogniteAsset | The asset that references this 3D object. |
cadNodes | Reverse direct relation list to CogniteCADNode | A list of maximum 1000 CogniteCADNodes that represents the connected CogniteAsset. |
pointCloudVolumes | Reverse direct relation list to CognitePointCloudVolume | A list of maximum 1000 CognitePointCloudVolumes represents the connected CogniteAsset. |
images360 | Edge | An edge connection to Cognite360ImageAnnotations that represents the connected CogniteAsset. |
xMin | Float | The lowest X value in a bounding box. |
xMax | Float | The highest X value in a bounding box. |
yMin | Float | The lowest y value in a bounding box. |
yMax | Float | The highest y value in a bounding box. |
zMin | Float | The lowest z value in a bounding box. |
zMax | Float | The highest z value in bounding box. |
The following core features are also available for this concept: CogniteDescribable
Cognite3DModel
Properties to group 3D data.
Property | Type | Description |
---|---|---|
type | Enum | The 3D model type. Valid values: CAD , PointCloud , and Cognite360Image . |
thumbnail | A direct relation to CogniteFile | A file with a thumbnail of the 3D model. |
The following core features are also available for this concept: CogniteDescribable
CogniteCADModel (view only)
This view has a pre-declared filter on Cognite3DModel’s type equal to CAD
. Used only for navigational purposes.
Property | Type | Description |
---|---|---|
revisions | Reverse direct relation list to Cognite3DRevision | A list of revisions for this CAD model. |
The following core features are also available for this concept: CogniteDescribable, Cognite3DModel
Cognite3DRevision
Properties for revision data for different types of 3D data. Normally used through CognitePointCloudRevision, Image360Collection or CogniteCADRevision.
Property | Type | Description |
---|---|---|
status | Enum | The status of the revison. Valid values: Queued , Processing , Done , Failed . |
published | Boolean | Whether the revision has been published or not. |
type | Enum | The type of 3D model this is a revision of. Valid values: CAD , PointCloud , and Image360 . |
model3D | Direct relation to Cognite3DModel | The 3D model this is a revision of. |
CognitePointCloudModel (view only)
This view has a pre-declared filter on Cognite3DModel’s type equal to PointCloud
. Used only for navigational purposes.
Property | Type | Description |
---|---|---|
revisions | Reverse direct relation list to Cognite3DRevision | A list of revisions for this point cloud model. |
The following core features are also available for this concept: CogniteDescribable, Cognite3DModel
Cognite360ImageModel (view only)
This view has a pre-declared filter on Cognite3DModel’s type equal to Cognite360Image
. Used only for navigational purposes.
Property | Type | Description |
---|---|---|
collections | Reverse direct relation list to Cognite360ImageCollection | A list of Cognite360ImageCollections for this instance. |
The following core features are also available for this concept: CogniteDescribable, Cognite3DModel
CogniteCADRevision
Properties for the revision ID.
Property | Type | Description |
---|---|---|
revisionId | int64 | The 3D API revision identifier for this CAD model. |
model3D | Direct relation to CogniteCADModel | A direct relation to a CogniteCADModel instance. |
The following core features are also available for this concept: Cognite3DRevision
CognitePointCloudRevision
Properties for the revision ID of uploaded point clouds.
Property | Type | Description |
---|---|---|
revisionId | int64 | The revision identifier for this point cloud model. |
model3D | Direct relation to CognitePointCloudModel | A direct relation to a CognitePointCloudModel instance. |
The following core features are also available for this concept: Cognite3DRevision
Cognite360ImageCollection (view only)
Represents a logical collection of Cognite360Image instances.
Property | Type | Description |
---|---|---|
model3D | Direct relation to Cognite360ImageModel | A direct relation to a Cognite360ImageModel instance. |
The following core features are also available for this concept: CogniteDescribable, Cognite3DRevision
CogniteCADNode
Represents nodes from the 3D model that have been contextualized.
Property | Type | Description |
---|---|---|
object3D | Direct relation to Cognite3DObject | A direct relation to the Cognite3DObject grouping for this node. |
model3D | Direct relation to Cognite3DModel | A direct relation to Cognite3DModel (CogniteCADModel in view version). |
cadNodeReference | String | A reference to a node within a CAD model from the 3D service. |
revisions | List of direct relations to Cognite3DRevision | A list of direct relations to instances of Cognite3DRevision which this CogniteCADNode exists in. |
treeIndexes | List of int64 | A list of tree indexes in the same order as revisions. Used by Reveal and similar applications to go from CAD3dNode to a tree index entry in the backing 3D model. |
subTreeSizes | List of int64 | A list of subtree sizes in the same order as revisions. Used by Reveal and similar applications to know how many nodes exists below this node in the hierarchy. |
The following core features are also available for this concept: CogniteDescribable
CognitePointCloudVolume
Properties for the point cloud volume definition.
Property | Type | Description |
---|---|---|
object3D | Direct relation to Cognite3DObject | A direct relation to the Cognite3DObject grouping for this node. |
model3D | Direct relation to Cognite3DModel | A direct relation to a Cognite3DModel instance. |
volumeReferences | List of strings | Unique volume metric hashes to access the 3D specialized data storage. |
revisions | List of direct relations | A list of direct relations to revision information. |
volumeType | Enum | Valid values: Cylinder or Box . |
volume | List of floats | Relevant coordinates for the volume type, 9 floats in total, that defines the volume. |
formatVersion | Float | Specifies the version the ‘volume’ field is using. |
The following core features are also available for this concept: CogniteDescribable
Cognite360Image
Properties for 360 images.
Property | Type | Description |
---|---|---|
collection360 | Direct relation to Cognite360ImageCollection | A direct relation to an Cognite360ImageCollection instance. |
station360 | Direct relation to Cognite3DGroup | Direct relation to a Cognite3DGroup instance that groups different Cognite360Image instances to the same station. |
takenAt | Timestamp | The time when the 6 photos were taken. |
The following core features are also available for this concept: Cognite3DTransformation, CogniteCubeMap
Cognite360ImageStation (view only)
This view groups images across collections. Use to create a visual scan history.
Property | Type | Description |
---|---|---|
groupType | enum | The type of group. Valid value: Station360 |
The following core features are also available for this concept: CogniteDescribable
Cognite360ImageAnnotation
Properties for edges between Image360 and Object3D. For Image360Annotation, the status will always be approved
.
Property | Type | Description |
---|---|---|
polygon | List of floats | A list of floats representing the polygon. The format depends on formatVersion . |
formatVersion | String | Specifies the storage representation for the polygon. ). |
The following core features are also available for this concept: CogniteDescribable, CogniteSourceable, CogniteAnnotation