Skip to content

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

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