Gå til innhald

System schemas

System schemas are defined in globally available spaces. They are prefixed with cdf_ and contain containers, views, and data models available out of the box in your Cognite Data Fusion (CDF) project.

System schemas and containers implement indexing and constraints for you, and we recommend that you use these system schemas as much as possible. However, it is important you test your data models against your schema with a magnitude of data greater than you expect in production. This to make sure your query patterns fit your schema and data, so you ensure both ingestion and querying are sufficiently performant.

:::note We're currently developing guidelines for creating and reusing containers, including best practices for using system schemas. :::

The system spaces aren't writable by any user so you can't modify the schemas, or create new instances in them. You can, however, query them like any other space and use the schemas to populate data on instances in your own space.

For example, if you want to add name and description properties to your pump instances, use the cdf_core.Describable container to map name to title and description to description:

graph TB
classDef View fill:#f96
classDef ContainerClass fill:#B6D7A8

subgraph equipment
Equipment[["Equipment <br> <b>manufacturer</b> (string)"]]
PropertyManufacturer([manufacturer])
Pump[["Pump <br> <b>maxPressure</b> (float)"]]
PropertyPressure([maxPressure])

BasicPump[["BasicPump<br> <b>producer</b> (string)<br> <b>maxPressure</b> (float) <br> <b>name</b>: (string) <br> <b>description</b> (string)"]]

Equipment:::ContainerClass --has-property--> PropertyManufacturer
Pump:::ContainerClass --has-property--> PropertyPressure

BasicPump:::View --maps--> PropertyManufacturer
BasicPump --maps--> PropertyPressure
end

subgraph cdf_core
Describable[["Describable <br> <b>title</b> (string) <br> <b>description</b> (string)"]]
PropertyTitle([title])
PropertyDescription([description])

Describable:::ContainerClass --has-property--> PropertyTitle
Describable --has-property--> PropertyDescription

BasicPump --maps--> PropertyTitle
BasicPump --maps--> PropertyDescription
end