Skip to main 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_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.

PropertyTypeDescription
nameStringThe name of the instance.
descriptionStringThe description of the instance.
tagsList of stringsA list of tags for the instance. Max: 1000
aliasesList of stringsAlternative names for the instance.

CogniteSourceable

The CogniteSourceable core feature has properties to represent how the source information in concepts is stored.

PropertyTypeDescription
sourceIdStringThe identifier in the source system.
sourceContextStringThe context of the sourceId. For systems where the sourceId is globally unique, leave sourceContext empty.
sourceDirect relation to a source systemA direct relation to a source system instance.
sourceCreatedTimeTimestampThe time the instance was created in the source system (if available).
sourceUpdatedTimeTimestampThe time the instance was updated in the source system (if available).
sourceCreatedUserStringThe 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.
sourceUpdatedUserStringThe 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.

PropertyTypeDescription
versionStringThe version identifier for the source system.
manufacturerStringThe 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.

PropertyTypeDescription
startTimeTimestampThe start time of an activity (or similar).
endTimeTimestampThe end time of an activity (or similar).
scheduledStartTimeTimestampThe planned start time of an activity (or similar).
scheduledEndTimeTimestampThe 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.

PropertyTypeDescription
object3DDirect relation to Cognite3DObjectThe 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.

PropertyTypeDescription
symbolStringThe symbol for the unit of measurement.
quantityEnumThe physical quantity the unit measures.
sourceStringThe source of the unit specification.
sourceReferenceStringA 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. 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.

PropertyTypeDescription
parentDirect relationA direct relation to the parent asset.
childrenReverse direct relation listA list of other assets that reference the asset. The list is automatically updated when it's referenced.
rootDirect relationA direct relation to the root of the asset hierarchy.
pathList of direct relationsAn automatically populated list of ancestors. Enables subtree filtering.
pathLastUpdatedTimeTimestampThe time path was last updated for this asset.
equipmentReverse direct relation list to CogniteEquipmentA direct relation to an equipment instance representing the physical equipment at the asset.
timeSeriesReverse direct relation list to CogniteTimeseriesA list of timeseries that reference the asset.
assetClassDirect relation to CogniteAssetClassSpecifies the asset class, for example Pump or Heat exchanger.
typeDirect relation to CogniteAssetTypeSpecifies the asset type, for example Centrifugal pump or Air cooled heat exchanger.
activitiesReverse direct relation list to CogniteActivityA list of activities that reference the asset.
filesReverse direct relation list to CogniteFileA list of files that reference 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.

PropertyTypeDescription
codeStringA unique identifier for the class of asset.
standardStringA text string to specify which standard the code is from. The combination of standard and code must be unique.

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.

PropertyTypeDescription
codeStringA unique identifier for the type of asset.
standardStringA text string to specify which standard the code is from.
assetClassDirect relation to CogniteAssetClassA direct relation to the asset class the asset 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.

PropertyTypeDescription
assetReverse direct relation to CogniteAssetThe asset this piece of equipment is related to.
activitiesReverse direct relation list to CogniteActivityA list of activities that reference the equipment. The list is automatically updated when it's referenced.
timeSeriesReverse direct relation list to CogniteTimeseriesA list of time series that reference the equipment. The list is automatically updated when it's referenced.
serialNumberStringThe serial number of the equipment.
manufacturerStringThe manufacturer of the equipment.
equipmentTypeDirect relation to CogniteEquipmentTypeThe type of equipment this is.
filesList of direct relations to CogniteFileA list of related files, such as documentation and data sheets, that belong to this piece of 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.

PropertyTypeDescription
codeStringA unique identifier for the type of equipment.
equipmentClassStringThe class of equipment.
standardStringAn identifier for the standard this equipment type is sourced from, for example, ISO14224.
standardReferenceStringA 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.

PropertyTypeDescription
assetList of direct relations to CogniteAssetsA list of the assets this file is related to.
equipmentReverse direct relation list to CogniteEquipmentAn automatically updated list of the equipment this file is related to.
mimeTypeStringThe MIME type of the file.
directoryStringThe path concepts from the source.
isUploadedBooleanSpecifies if the file content has been uploaded to Cognite Data Fusion or not.
uploadedTimeTimestampThe time the file upload completed.
categoryDirect relation to CogniteFileCategorySpecifies 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.

PropertyTypeDescription
codeStringAn identifier for the category, for example, AA for Accounting (from Norsok.)
standardStringThe name of the standard the category originates from, for example Norsok.
standardReferenceStringA 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.

PropertyTypeDescription
assetsList of direct relations to CogniteAssetA list of the assets this activity is related to.
equipmentList of direct relations to CogniteEquipmentA list of the equipment this activity is related to.
timeSeriesList of direct relations to CogniteTimeseriesA list of the 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 of a the temperature readings from a water pump.

PropertyTypeDescription
isStepBooleanSpecifies whether the time series is a step time series or not.
typeEnumSpecifies the datatype of the datapoints.
sourceUnitStringThe unit specified in the source system.
unitDirect relation to CogniteUnitThe unit of the time series.
assetsList of direct relations to related CogniteAssetA list of assets that reference the time series.
equipmentList of direct relations to CogniteEquipmentA list of equipment that's related to this time series.
activitiesReverse list of direct relations to CogniteActivity (and subtypes)A list of activities that reference the time series. The list is automatically updated when it's referenced.

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. Annotations apply to edges only.

PropertyTypeDescription
confidencefloat64The confidence level that this is a good match.
statusEnumThe 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. CogniteDiagramAnnotation applies to edges only.

PropertyTypeDescription
startNodePageNumberint64The number of the page on which the annotation is located in the startNode file. The first page has number 1.
endNodePageNumberint64The number of the page on which the annotation is located in the endNode file. The first page has number 1.
startNodeXMinfloat64A value between [0,1]. The minimum abscissa of the bounding box (left edge). Must be strictly less than startNodeXMax.
startNodeXMaxfloat64A value between [0,1]. The maximum abscissa of the bounding box (right edge). Must be strictly more than startNodeXMin.
startNodeYMinfloat64A value between [0,1]. The minimum ordinate of the bounding box (bottom edge). Must be strictly less than startNodeYMax.
startNodeYMaxfloat64A value between [0,1]. The maximum ordinate of the bounding box (top edge). Must be strictly more than startNodeYMin.
startNodeTextStringThe text extracted from within the bounding box on the startNode.
endNodeXMinfloat64A 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.
endNodeXMaxfloat64A 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.
endNodeYMinfloat64A 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.
endNodeYMaxfloat64A 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.
endNodeTextStringThe 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.

PropertyTypeDescription
translationXFloatThe displacement of the object along the X-axis in 3D space.
translationYFloatThe displacement of the object along the Y-axis in 3D space.
translationZFloatThe displacement of the object along the Z-axis in 3D space.
eulerRotationXFloatThe rotation of the object around the X-axis, measured in degrees.
eulerRotationYFloatThe rotation of the object around the Y-axis, measured in degrees.
eulerRotationZFloatThe rotation of the object around the Z-axis, measured in degrees.
scaleXFloatThe scaling factor applied to the object along the X-axis.
scaleYFloatThe scaling factor applied to the object along the Y-axis.
scaleZFloatThe 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.

PropertyTypeDescription
frontDirect relation to a CogniteFileA direct relation to a file holding the front projection of the cube map.
backDirect relation to a CogniteFileA direct relation to a file holding the back projection of the cube map.
leftDirect relation to a CogniteFileA direct relation to a file holding the left projection of the cube map.
rightDirect relation to a CogniteFileA direct relation to a file holding the right projection of the cube map.
topDirect relation to a CogniteFileA direct relation to a file holding the top projection of the cube map.
bottomDirect relation to a CogniteFileA 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.

PropertyTypeDescription
assetReverse direct relation to CogniteAssetThe asset that references this 3D object.
cadNodesReverse direct relation list to CogniteCADNodeA list of maximum 1000 CogniteCADNodes that represents the connected CogniteAsset.
pointCloudVolumesReverse direct relation list to CognitePointCloudVolumeA list of maximum 1000 CognitePointCloudVolumes represents the connected CogniteAsset.
images360EdgeAn edge connection to Cognite360ImageAnnotations that represents the connected CogniteAsset.
xMinFloatThe lowest X value in a bounding box.
xMaxFloatThe highest X value in a bounding box.
yMinFloatThe lowest y value in a bounding box.
yMaxFloatThe highest y value in a bounding box.
zMinFloatThe lowest z value in a bounding box.
zMaxFloatThe highest z value in bounding box.

The following core features are also available for this concept: CogniteDescribable

Cognite3DModel

Properties to group 3D data.

PropertyTypeDescription
typeEnumThe 3D model type. Valid values: CAD, PointCloud, and Cognite360Image.
thumbnailA direct relation to CogniteFileA 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.

PropertyTypeDescription
revisionsReverse direct relation list to Cognite3DRevisionA 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.

PropertyTypeDescription
statusEnumThe status of the revison. Valid values: Queued, Processing, Done, Failed.
publishedBooleanWhether the revision has been published or not.
typeEnumThe type of 3D model this is a revision of. Valid values: CAD, PointCloud, and Image360.
model3DDirect relation to Cognite3DModelThe 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.

PropertyTypeDescription
revisionsReverse direct relation list to Cognite3DRevisionA 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.

PropertyTypeDescription
collectionsReverse direct relation list to Cognite360ImageCollectionA list of Cognite360ImageCollections for this instance.

The following core features are also available for this concept: CogniteDescribable, Cognite3DModel

CogniteCADRevision

Properties for the revision ID.

PropertyTypeDescription
revisionIdint64The 3D API revision identifier for this CAD model.
model3DDirect relation to CogniteCADModelA 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.

PropertyTypeDescription
revisionIdint64The revision identifier for this point cloud model.
model3DDirect relation to CognitePointCloudModelA 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.

PropertyTypeDescription
model3DDirect relation to Cognite360ImageModelA 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.

PropertyTypeDescription
object3DDirect relation to Cognite3DObjectA direct relation to the Cognite3DObject grouping for this node.
model3DDirect relation to Cognite3DModelA direct relation to Cognite3DModel (CogniteCADModel in view version).
cadNodeReferenceStringA reference to a node within a CAD model from the 3D service.
revisionsList of direct relations to Cognite3DRevisionA list of direct relations to instances of Cognite3DRevision which this CogniteCADNode exists in.
treeIndexesList of int64A 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.
subTreeSizesList of int64A 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.

PropertyTypeDescription
object3DDirect relation to Cognite3DObjectA direct relation to the Cognite3DObject grouping for this node.
model3DDirect relation to Cognite3DModelA direct relation to a Cognite3DModel instance.
volumeReferencesList of stringsUnique volume metric hashes to access the 3D specialized data storage.
revisionsList of direct relationsA list of direct relations to revision information.
volumeTypeEnumValid values: Cylinder or Box.
volumeList of floatsRelevant coordinates for the volume type, 9 floats in total, that defines the volume.
formatVersionFloatSpecifies the version the ‘volume’ field is using.

The following core features are also available for this concept: CogniteDescribable

Cognite360Image

Properties for 360 images.

PropertyTypeDescription
collection360Direct relation to Cognite360ImageCollectionA direct relation to an Cognite360ImageCollection instance.
station360Direct relation to Cognite3DGroupDirect relation to a Cognite3DGroup instance that groups different Cognite360Image instances to the same station.
takenAtTimestampThe 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.

PropertyTypeDescription
groupTypeenumThe 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.

PropertyTypeDescription
polygonList of floatsA list of floats representing the polygon. The format depends on formatVersion.
formatVersionStringSpecifies the storage representation for the polygon. ).

The following core features are also available for this concept: CogniteDescribable, CogniteSourceable, CogniteAnnotation