Skip to main content

Data modeling concepts

The Data Modeling Service (DMS) REST API lets you create, update, and delete spaces, instances, containers, views, and data models to form an industrial knowledge graph.

The knowledge graph is implemented as a property graph that represents a well-defined structure consisting of nodes and edges. Both nodes and edges can have properties.

Core data modeling concepts

This illustration shows how the data modeling building blocks in Cognite Data Fusion (CDF) relate to each other.

Data modeling building blocks

Space

A space can contain both schemas and instances, and is an efficient resource to organize your graph. It functions as a namespace, and lets you choose identifiers without interference from other spaces.

For access management, you can use CDF user groups and capabilities to define who has access to read from and write to a space. You can, for example, create a data model in a protected space to prevent it from being changed, and then create instances in a space where users can read and write to the data.

To delete a space, you have to remove all schema resources assigned to it first.

Instance

Instance is an umbrella term for nodes and edges. Instances have a set of core properties that are consistently present in every instance.

  • Nodes can represent anything, for example, real-world objects like pumps,

  • Edges describe relationships between nodes.

Every instance has an external ID that must be unique for that space.

Container

Containers are the physical storage for properties. They're defined within a space, and hold a set of properties that logically belong together.

You must define types for your properties, and you can add optional constraints that the data in the container must adhere to. You can also define indexes for properties, or groups of properties, to optimize query performance.

View

Use views to create logical schemas to consume from, or populate, a graph. The views should be tailored to meet the needs of specific use cases. Like containers, views contain a group of properties. You define views by either mapping container properties, or by creating connection properties to express the expected relationships in the graph.

Data model

Use data models to group views. For example, you can define a EquipmentInspection data model containing a BasicValve, and a BasicPump view.