Skip to main content
Establishing a naming standard for CDF resource types and configurations is key to successfully deploy and administer CDF projects with the Cognite Toolkit.

Separation tokens

In the naming standard, use separation tokens for “namespacing”:
  • For external IDs, use ”_” (underscore). External IDs are often used in code and configuration files and must be easily processed by code.
  • For names, use ”:” (colon) or ”_” (underscore). Names often appear in reports or user interfaces and should be easy to read.

Example naming standard

The example below sets up a project based on the Open Industry Data (OID), and uses oid as the location.
  • The location_name = oid
  • Source systems:
    • Workmate (asset and workorder data)
    • Fileshare (files and 3D)
    • PI (time series and data points)
CDF project
  Data sets:
    extId: ds_asset_oid ── name: asset:oid
      Extraction pipelines:
        extId: ep_src_asset_oid_workmate ── name: src:asset:oid:workmate
      
      RAW DB tables:
        DB: asset_oid_workmate ── table: assets
      
      Transformations:
        extId: tr_asset_oid_workmate_asset_hierarchy ── name: asset:oid:workmate:asset_hierarchy
      
      Authorization groups:
        id: asset:oid:extractor
        id: asset:oid:prosessing
        id: asset:oid:read
    
    extId: ds_files_oid ── name: files:oid
      Extraction pipelines:
        extId: ep_src_files_oid_fileshare ── name: src:files:oid:fileshare
        extId: ep_ctx_files_oid_fileshare:annotation ── name: ctx:files:oid:fileshare:annotation
      
      RAW DB tables:
        DB: files_oid_fileshare ── table: file_metadata
      
      Transformations:
        extId: tr_file_oid_fileshare_file_metadata ── name: file:oid:metadata:fileshare:file_metadata
      
      Functions:
        extId: fn_files_oid_fileshare_annotation ── name: files:oid:fileshare:annotation
      
      Authorisation groups:
        id: gp_files_oid_extractor
        id: gp_files_oid_prosessing
        id: gp_files_oid_read
    
    extId: ds_workorder_oid ── name: workorder:oid
      ...
    
    extId: ds_timeseries_oid ── name: timeseries:oid
      ...
    
    extId: ds_3d_oid ── name: 3d:oid
      ...
  
  Spaces:
    extId: sp_apm_oid ── name: oid

Naming elements

  • Data type: Asset, timeseries, workorder, files, 3d,… (use what is relevant for the project)
  • Source: Source system (SAP, Workmate, Aveva, PI, Fileshare, SharePoint,..)
  • Location: Location for asset, system, plant, installation, …
  • Pipeline type: src = source data, ctx = contextualization, uc = use case, …
  • Operation type: Type of operation/action/functionality in transformation or CDF function.
  • Access type: Type of access used in authorization groups (extractor, processing, read, …)

Data sets

External ID: ds_<data type>_<location>
Name: <data type>:<location>
Example: ds_asset_oid / asset:oid

Extraction pipelines

External ID: ep_<pipeline type>_<data type>_<location>_<source>
Name: <pipeline type>:<data type>:<location>:<source>:
Example: ep_src_asset_oid_workmate / src:asset:oid:workmate

RAW DB tables

DB: <data type>_<location>_<source>
Table: use name from source, or other descriptive name.
Example: asset_oid_workmate

Transformations

External ID: tr_<data type>_<location>_<source>_<operation type>
Name: <data type>:<location>:<source>:<operation type>
Example: tr_asset_oid_workmate_asset_hierarchy / asset:oid:workmate:asset_hierarchy

Functions

External ID: fn_<data type>_<location>_<source>_<operation type>
Name: <data type>:<location>:<source>:<operation type>
Example: fn_files_oid_fileshare_annotation / files:oid:fileshare:annotation

Authorization groups

Groups don’t have external IDs. We still recommend using the same naming convention as for external IDs.
Name: gp_<data type>_<location>_<access type>
Example:  gp_asset_oid_extractor / gp_asset_oid_processing / gp_asset_oid_read

Authorization security categories

Security categories don’t have external IDs. We still recommend using the same naming convention as for external IDs.
Name: sc_<data type>_<location>_<access type>
Example:  sc_asset_oid_extractor / sc_asset_oid_processing / sc_asset_oid_read

Data model spaces

For data model spaces, it’s important to distinguish between data spaces and schema spaces. Schema spaces store the schema for the data model, containers, views, node_types, data_models, but not data itself. Data spaces stores data, nodes and edges.

Data model spaces for data

space: sp_<data type>_<source>
Name: <data type>:<source>
Example: sp_apm_oid / apm:oid

Data model spaces for schema

space: sp_<model_type>_<model_identifier>
Name: <model_type>:<model_identifier>
Example: sp_enterprise_model_cognite / enterprise_model:cognite
Example: sp_solution_model_finance_predictonis / solution_model:finance_prediction