> ## Documentation Index
> Fetch the complete documentation index at: https://docs.cognite.com/llms.txt
> Use this file to discover all available pages before exploring further.

# System schemas

> Learn about globally available system schemas prefixed with cdf_ that provide out-of-the-box containers, views, and data models.

System schemas are defined in globally available [**spaces**](/cdf/dm/dm_concepts/dm_spaces_instances). 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.

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_cdm.CogniteDescribable` container. Any application or client that queries for CogniteDescribable to list an instance, will also show your `name` and `description` without being familiar with the rest of your data model:

```mermaid theme={"languages":{"custom":["/_languages/kuiper.json","../_languages/kuiper.json"]}}
%%{init: {'theme':'base', 'themeVariables': { 'lineColor':'#8b949e'}}}%%
graph TB
classDef ViewClass fill:#8250df,stroke:#24292f,stroke-width:2px,color:#fff
classDef ContainerClass fill:#1a7f37,stroke:#24292f,stroke-width:2px,color:#fff

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:::ViewClass --maps--> PropertyManufacturer
BasicPump --maps--> PropertyPressure
end

subgraph cdf_cdm
CogniteDescribable[["CogniteDescribable <br> <b>name</b> (string) <br> <b>description</b> (string)"]]
PropertyName([name])
PropertyDescription([description])

CogniteDescribable:::ContainerClass --has-property--> PropertyName
CogniteDescribable --has-property--> PropertyDescription

BasicPump --maps--> PropertyName
BasicPump --maps--> PropertyDescription
end
```
