About the CDF data model
We provide a data model out of the box so that users and application developers can make assumptions about the structure of the data and rapidly build applications on top of the data model.
This article introduces the different resource types that exist in the Cognite data model.
In this article:
The assets resource type stores digital representations of objects or groups of objects from the physical world. Assets are organized in hierarchies. For example, a water pump asset can be part of a subsystem asset on an oil platform asset.
Assets connect related data from different sources, and are core to identifying all the data that is relevant to an entity (contextualization) in Cognite Data Fusion. All other resource types, for example time series, events and files, should be connected to at least one asset, and each asset can be connected to many resources and resource types.
Root assets are at the top of each asset hierarchy. CDF supports multiple asset hierarchies, and the root assets should preferably be at the plant level. As you move down a hierarchy from its root asset, you get to more and more granular equipment and components. Sensors are often leaf nodes in the asset hierarchy.
The time series resource type stores a series of data points in time order. Examples of a time series is the temperature of a water pump asset, the monthly precipitation in a location and the daily average number of manufacturing defects.
Watch this video for a quick introduction to time series:
The events resource type stores information that happen over a period of time. Events have a start time and an end time and can be related to multiple assets. For example, an event can describe two hours of maintenance on a water pump and associated pipes, or a future time period for when the pump is scheduled for inspection.
The files resource type stores documents that contain information that is related to one or more assets. For example, a file can contain a piping and instrumentation diagram (P&ID) that shows how multiple assets are connected.
The 3D models resource type stores files that provide visual and geometrical data and context to assets. For example, we can connect a pump asset with a 3D model of the plant floor where it's placed. Seeing asset data rendered in 3D is a great way to discover and find the data you are interested in. By rendering analysis results in 3D you can get faster and better understanding of data, for example by highlighting all equipment that has had issues last year.
The sequences resource type stores series of rows indexed by row number. Each row contains one or more columns with either string or numeric data. Examples of sequences are performance curves and various types of logs, for example depth logs in drilling.
A data set is a container for data objects and has metadata with information about the data it contains. Data sets group and track data by its source. For example, you can use the data set metadata to document who is responsible for the data, upload documentation files, describe the data lineage, and so on.
To define which data objects, for example events, files, and time series, belong to a data set, you specify the relevant
dataSetId field for each data object. This is typically done programmatically in the data ingestion pipelines. Data objects can belong to only one data set so that you can unambiguously trace the data lineage for each data object.
You can organize these resource types into data sets:
- Time series
With labels you can create a predefined set of managed terms that you can use to annotate and group assets.
You can organize the labels in a way that makes sense in your business and use the labels to make it easier to find what you want.
For example, you can create a label called pump and apply it to all asset resources that represent pumps, and then filter assets to see only pumps.