Core concepts
The semantic layer
Celiq sits between your database and your analysts. Instead of writing SQL every time, you define your data model once in Forge using CML (Celiq Modelling Language) — then anyone can query it without writing SQL.
Database tables
↓
Nodes ← define fields, metrics, joins
↓
Domains ← group nodes into a business context
↓
Reveals ← curated views with pre-selected fields
↓
Discover ← drag-and-drop query builder + 27 chart types
↓
Mosaics ← dashboards of pinned tiles
Nodes
A node maps to one database table. It defines:
- Attributes — dimensions (strings, dates, IDs)
- Metrics — measures (SUM, COUNT, AVG, etc.)
- Joins — relationships to other nodes
Example: payment.node.celiq
node: payment
table: public.payment
attributes:
- name: payment_id
type: integer
role: primary_key
- name: payment_date
type: date
is_date: true
metrics:
- name: total_revenue
label: Total payment revenue
sql: SUM(amount)
type: currency
Domains
A domain groups related nodes into a business context. It defines joins between nodes and contains one or more reveals.
Example: pagila.domain.celiq
Reveals
A reveal is a curated view inside a domain. It pre-selects the most useful fields, suggests metrics, and optionally sets default filters. This is what analysts pick in Discover.
Mosaics
A Mosaic is a dashboard made of tiles. Each tile is pinned from a Discover query and runs live against your warehouse.
Orion
Orion is Celiq's built-in AI assistant. It can:
- Generate node and domain CML from your database schema
- Answer questions in natural language ("What was total revenue last month?")
- Create Mosaics and WBR reports
- Explain metric definitions and SQL
CML
CML (Celiq Modelling Language) is YAML-based. Node files end in .node.celiq, domain files in .domain.celiq. Files are stored in your project's Git repository for version control.