These are Cognite’s recommended naming conventions and provide a consistent baseline. Actual conventions can vary based on customer-specific requirements and existing standards. Where a customer or project already has documented naming conventions, follow those and record any deviations in project governance documentation.
Scope and prerequisites
This reference governs naming for artifacts created during a CDF deployment — both resource definitions (schema) and instances (data). It covers three resource families:- CDF building blocks — extraction pipelines, hosted extractors, transformations, functions, data workflows, CDF RAW databases, data sets, entity matching, access groups, service principals, and related deployment resources
- Core resource types — time series, streams, records, 3D models and revisions, 3D scenes, location filters, and files
- Data modeling resources — data models, spaces, views, containers, edges, instances, and properties
- Legacy CDF asset-centric data model types unless mapped to the new framework
- Code repository directory structure and Cognite Toolkit module names (governed by separate standards)
You need administrative or write access to your CDF deployment to create and manage resources. The automation example later in this reference assumes familiarity with Cognite Toolkit configuration and variable substitution. A git-based workflow is recommended when you manage resource definitions as code.
The three naming patterns
Every CDF external ID follows one of three patterns. Identify which pattern your resource uses, then look up its exact token order in the resource tables further down.
A name is an ordered sequence of tokens — short codes such as
valhall, sap, or files — running from general to specific. The prefix tells you the resource type (ep = extraction pipeline); the remaining tokens add location, source, and intent.
To name a resource:
- Find its row in the relevant resource table.
- Assemble the external ID from approved tokens, in the order the grammar column specifies.
- Expand those tokens into a sentence-case display name (
ep_files_valhall_sharepoint→ Valhall SharePoint file extraction).
Rules
These rules apply across all three patterns. Resource families that deviate (data models, properties) note the deviation in their own tables.
Environment tokens (
dev, test, prod) appear only in CDF project resource names (am-long-eu-no-oslo-dev) and persona-led names (producer_pp_dev). Never embed them in building-block external IDs such as extraction pipelines, transformations, or data sets.
Anti-patterns to avoid
If your deployment already uses a documented convention that differs from this guide, follow that convention and record the deviation in project governance documentation. Treat deviations as informational, not errors.CDF building blocks
Building blocks are operational resources you configure to ingest, transform, and orchestrate data. They use type prefixes on external IDs for filtering and sorting in the CDF portal application and API. Access groups and service principals are exceptions — they use the persona-led pattern. Display names do not include the type prefix.Core resource types
Core resources store and expose industrial data — often ingested from source systems. The naming strategy prioritizes traceability.Source ID preservation (time series and files). Time series and files often arrive with IDs from source systems. Decide as follows:
- Preserve as-is when the source ID is already variable-name-safe (alphanumeric and underscore only) and unique within the deployment.
- Prefix for uniqueness when the bare source ID could collide across sites or systems:
{source}_{location}_{original_id}(for example,pi_valhall_2342). - Sanitize only when required — replace unsafe characters (spaces,
/,%, non-ASCII) with underscore, trim leading and trailing underscores, and record the mapping in the resource metadata when traceability matters.
Data modeling resources
Data modeling resources define the schema and instances in your knowledge graph. They use strict capitalization and layer suffixes to distinguish source, domain, and solution models. See Designing scalable data models for the layered architecture these abbreviations map to.
Property descriptions should follow AI-friendly description practices.
Layer abbreviations:
src (source), dom (domain/enterprise), sol (solution), inst (instances). The dm_ prefix identifies a space; the data model itself carries the layer as a _SRC/_DOM/_SOL suffix, not a prefix. See spaces and instances.
Access management
Access groups and service principals use the persona-led pattern.
The examples below show access group and service principal names built from these tokens.
Apply the same pattern to identity provider (IdP) access groups and CDF access groups (CDF groups mirror the IdP name).
Security categories: If you use security categories for fine-grained access on time series and files, name them with an
sc_ prefix mirroring the persona-led pattern (for example, sc_producer_pp_dev). Security categories apply only to time series and files — not to data modeling instances linked via instanceId. See Security categories.
Complete naming example (Open Industrial Data)
The example below shows a complete naming layout for a CDF deployment based on Open Industrial Data (OID), usingoid as the location token.
- Building-block external IDs use type prefixes (
ep_,tr_,fn_,ds_) and the_to_connector for transformations. - Access groups use the persona-led pattern with a required
typetoken (ep,pp, orallfor broad grants). - Service principals use the same pattern with a more specific
typetoken (ep_fileshare). - Display names use sentence case with spaces — no colon separators.
Validation
Naming compliance works in four complementary layers — one generates correct names, two catch incorrect ones, and one applies human judgment:Generate names with the Cognite Toolkit (layer 1)
If you manage resources as code, the Cognite Toolkit produces correct external IDs by construction through variable substitution. Define shared tokens once inconfig.yaml and reference them in resource YAML files to assemble every name from the same approved values:
Shape regex in CI/CD (layer 2a)
The regex column in each resource table validates prefix, charset, and casing only. It deliberately does not validate token values, order, or count — a trailing[a-z0-9_]+ group accepts any underscore-separated tokens. Treat regex as a fast structural filter, not a correctness guarantee.
Implement it in CI by scanning resource configuration files for externalId fields and rejecting pull requests that fail the hard-gate regex.
Token check in CI/CD (layer 2b)
This is a recommended capability. The rules below describe what a token-validation step should assert; your team implements it as a small CI script. Until then, these checks fall back to review (layer 3).
ep_files_newyork_sharepoint (unapproved location), ep_sharepoint_files_valhall (wrong order), and ep_a_b_c_d (wrong count) pass. The token check closes that gap by validating against the approved-list enum rather than a pattern.
Maintain the approved list as machine-readable enums, one entry per token type, as the single source of truth for authors and CI:
approved_tokens.yaml
externalId against its resource grammar: every token must exist in its type’s enum, and the token count must match the grammar. Any miss fails the build. New tokens are added only by a reviewed change to approved_tokens.yaml.
Approved-list review (layer 3)
With token membership, order, and count enforced at layer 2b, review focuses on what machines cannot judge: is the display name clear, and does a proposed new token belong in the enum? Use this checklist for the remaining human-judgment items.Handling exceptions
Exceptions should be rare and documented. If a legacy or brownfield source system requires a naming format that violates the standard, document the deviation in the resource description or metadata field in CDF.External standards
Align tokens with established international standards where possible:Further reading
- Designing scalable data models — Best practices for designing scalable data models in CDF.
- Data modeling concepts — Core concepts: property graph, spaces, instances, containers, views, and data models.
- Access management concepts — Capabilities, groups, and security categories.
- YAML reference library — Resource configuration files for the Cognite Toolkit.
- config.yaml reference — Cognite Toolkit configuration and variable substitution.