Passer au contenu principal

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.

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

PropertyTypeDescription
parentDirect relationA direct relation to the parent of the asset.
childrenReverse direct relation listAn automatically updated list of assets with this asset as their parent.
rootDirect relationAn automatically updated reference to the top-level asset of the hierarchy.
pathList of direct relationsAn automatically updated ordered list of this asset's ancestors, starting with the root asset. Enables subtree filtering to find all assets under a parent.
pathLastUpdatedTimeTimestampThe last time path was updated for this asset.
equipmentReverse direct relation list to CogniteEquipmentAn automatically updated list of equipment related to the asset.
timeSeriesReverse direct relation list to CogniteTimeseriesAn automatically updated list of time series related to the asset.
assetClassDirect relation to CogniteAssetClassSpecifies the class of the asset, for example Pump or Heat exchanger.
typeDirect relation to CogniteAssetTypeSpecifies the type of the asset, for example Centrifugal pump or Air cooled heat exchanger.
activitiesReverse direct relation list to CogniteActivityAn automatically updated list of activities related to the asset.
filesReverse direct relation list to CogniteFileAn 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.

PropertyTypeDescription
codeStringA unique identifier for the class of asset.
standardStringA 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.

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

PropertyTypeDescription
assetDirect relation to CogniteAssetThe asset the equipment is related to.
activitiesReverse direct relation list to CogniteActivityAn automatically updated list of activities related to the equipment.
timeSeriesReverse direct relation list to CogniteTimeseriesAn automatically updated list of time series related to the equipment.
serialNumberStringThe serial number of the equipment.
manufacturerStringThe manufacturer of the equipment.
equipmentTypeDirect relation to CogniteEquipmentTypeSpecifies the type of the equipment.
filesList of direct relations to CogniteFileA 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.

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 assets this file is related to.
equipmentReverse direct relation list to CogniteEquipmentAn automatically updated list of equipment this file is related to.
mimeTypeStringThe MIME type of the file.
directoryStringContains the path elements from the source (if the source system has a file system hierarchy or similar).
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 assets this activity is related to.
equipmentList of direct relations to CogniteEquipmentA list of equipment this activity is related to.
timeSeriesList of direct relations to CogniteTimeseriesA 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.

PropertyTypeDescription
isStepBooleanSpecifies whether the time series is a step time series or not.
typeEnumSpecifies the data type of the data points.
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 the time series is related to.
equipmentList of direct relations to CogniteEquipmentA list of equipment the time series is related to.
activitiesReverse 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.

PropertyTypeDescription
confidencefloat64The confidence 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.

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 if an endNode is present. 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