Semantic Pipelines: Gather Context, Then Keep It Current
Semantic Pipelines are the system Colrows uses to gather context and maintain it. A set of scanner-based pipelines reads a variety of sources - databases, analytics platforms, data catalogs, dbt, and source code. Knowledge pipelines turn that raw context into governed semantic assets - relationships, profiles, category sets. A value-resolution pipeline makes the actual data values searchable. Everything is published into the graph and vector stores that ground every query - and change records keep the whole layer current as your sources drift.
Two jobs: gather context, keep it current
Colrows runs on context. Semantic Pipelines exist to build that context and stop it going stale. They do two things:
- Gather context - scanners read your sources; knowledge pipelines generate meaning; value resolution makes data values searchable; publishing projects the result into the graph and vector stores.
- Maintain it - when a scanner detects that a source changed, a change record drives the dependent assets and projections back into a consistent state.
Every pipeline is read-only against your data - Colrows reads metadata and computes bounded profiles; it never writes to your sources.
Point Colrows at your estate. Scanners read it, knowledge pipelines learn it, and change records keep it true. Fix the context, not the model.
Stage 1 · Sources — scanner-based context gathering
Context gathering is done by scanners. Each scanner connects to one kind of source, reads what is there, and reconciles it into the canonical catalog. Scanners run on demand or on an automated schedule at a frequency you set.
| Scanner | Scans |
|---|---|
| Database metadata | Tables, columns, and foreign keys from your connected databases and warehouses. See the full list of supported datasources. |
| Analytics platforms | Dashboards, datasets, and the metrics already defined in Apache Superset, Google Looker, Microsoft Power BI, ThoughtSpot, and Tableau. |
| Data catalogs | Business glossary, terms, definitions, and their table and column assignments from Apache Polaris, Apache Atlas, Alation, and Collibra. |
| dbt repositories | Models, sources, tests, and the documentation and lineage declared in your dbt project. |
| Source code repositories | SQL and query definitions that live in your code, so meaning encoded in queries is captured too. |
Run any scanner immediately, or set a recurring schedule (fixed-rate or fixed-time) and pause or resume it. Incremental scans compare a layout checksum and skip work when nothing changed.
Stage 2 · Knowledge generation
Knowledge pipelines turn the gathered context into governed semantic assets. Each produces candidates with supporting evidence; candidates are converged and promoted into canonical assets. Colrows combines AI with deterministic checks and multi-source corroboration, and holds weakly supported proposals for human review rather than guessing.
Prove the join paths between tables
Colrows corroborates several independent signals - declared foreign keys, column naming and key structure, statistical profiles (uniqueness, containment), and joins observed in query history - with AI assessment as one gated input among many. Promoted Table Relationships record the joined columns and operators, the cardinality (one-to-one, one-to-many, many-to-one, many-to-many, or unknown) and per-side optionality, and the business role of the join. Composite joins are supported; the SQL join type is chosen at query time, not stored. Facts that cannot be proven stay UNKNOWN. This is the join path proof that keeps generated SQL correct.
Measure the data, within bounds
Profiling computes bounded statistics for each column - patterns, exemplar values, distinct counts, null ratios, and distributions. Profiles are the evidence other pipelines reason over: they feed relationship discovery and category-set generation, and they are refreshed when the underlying data changes.
Turn coded columns into governed value lists
Category-set discovery generates governed sets of categorical values from profiled columns - with labels and synonyms - so an agent knows that status = 'A' means Active without guessing.
Explain every table and column
Description generation produces table and column descriptions, row definitions, and roles. It runs incrementally by default - filling only what is blank - or as a full regeneration when you want everything rewritten.
Business terms & glossary
Business terms, metrics, and other vocabulary are grounded in your language, not guessed from a scan. They reach the layer three ways:
- Catalog import - the data-catalog scanners bring your existing glossary (terms, definitions, synonyms, and term-to-table assignments). Import is provenance-aware: by default only human-authored or human-approved content is accepted.
- Document upload - upload a data dictionary, policy, or spec and Colrows turns its content into governed assets, moving each proposal from signal to claim to proposal to promotion so nothing enters the graph without evidence.
- Discovery & authoring - term discovery proposes terms for newly onboarded tables, and curators can author or edit any asset directly in Catalogue.
Value resolution
Knowing the schema is not enough - an agent also has to map the words a person types to the values actually stored in your data. Value resolution is a separate pipeline that builds fuzzy-search indexes over the values users are likely to reference in their questions.
With those indexes in place, a question like "revenue for California last quarter" resolves California to however the value is really stored - CA, Calif., a region ID - before the query compiles. The result is fewer empty results from a near-miss on a literal, and filters that mean what the user meant.
Stage 3 · Publishing
Publishing projects the accepted, current canonical assets into the two runtime stores that every query uses:
- Graph store - the governed semantic graph of tables, columns, relationships, terms, and metrics that the compiler plans against.
- Vector store - the multi-vector and value-resolution indexes used to find the right entities and values by meaning.
Colrows keeps the full, versioned record as the system of record; the graph and vector stores are rebuildable projections of the latest valid versions, not the source of truth. If a projection ever drifts from the canonical record, a repair pass reconciles it. A datasource exposes its own readiness so you always know how much of it is query-ready.
What the pipelines produce
The semantic layer Colrows builds is a graph of typed, governed assets:
| Asset | What it is |
|---|---|
| Table | Source-aligned table metadata plus semantic context. |
| Column | Source-aligned column metadata plus semantic context; nested fields are independent columns. |
| Table Relationship | A governed join path between two tables - columns, operators, cardinality, and optionality. No fixed SQL join type. |
| Category Set | A governed collection of categorical values with labels and synonyms. |
| Metric | A governed business measure: what to calculate, its grain, and its grounding. |
| Business Term | A business-vocabulary term and its definition. |
| Business Entity | An important business noun - Customer, Order, Product. |
| Event / Action | A meaningful business moment or state change, and the next step it drives. |
| Modifier | Reusable logic that changes how a metric is calculated. |
| Category / Relationship | A governed semantic category, and an accepted assertion between two catalog entities. |
| Semantic Dataset | A reusable, governed row set that feeds metrics. |
Versioning, validity & lineage
Every asset is versioned and traceable - this is what makes the layer auditable and point-in-time reproducible.
- Immutable history. Every change creates a new version; earlier versions are never rewritten. You can inspect the version, timestamp, actor, and reason for any asset.
- Existence and validity are separate. An asset is Active (exists and valid), Invalid (exists but a required condition is broken - visible to curators, never to runtime), or Deleted (a tombstone). Runtime consumers and the search index only ever see valid assets.
- Evidence and lineage. Promoted assets carry the candidates and sources that produced them, so any relationship or term traces back to the foreign key, profile, query, catalog, document, or curator that supports it.
- Ownership & scope. Assets are owned by your organization and scoped to a datasource; uploaded knowledge can also be scoped to a knowledge domain.
Change records & maintenance
A semantic layer that goes stale is worse than none. Maintenance is driven by change records - and it is where Colrows spends real care, because a source that shifts underneath a published layer must never silently corrupt it.
When a scanner detects that metadata changed - a table or column added, edited, or removed, or a profile that moved - Colrows records the change as an immutable fact and fans it out to the pipelines that care:
- Independent consumers. Each interested pipeline processes the change on its own. A failure projecting into the vector store cannot fail the graph store, and neither can corrupt the canonical record.
- Dependency-aware maintenance. A dropped or changed table or column cleans up optional references and invalidates assets whose required inputs broke - propagating through the full dependency closure. Invalidated assets drop out of the graph and search index until repaired, so runtime never sees a broken definition.
- Failures are isolated and retried, not lost. Processing is idempotent and at-least-once, so a retried change reapplies safely. Retryable failures back off and try again; when attempts are exhausted the run is marked
FAILEDand surfaced for attention rather than dropped. - Degraded, not broken. A scan that hits a required failure is reported
FAILED; an optional-only failure is reportedDEGRADEDand does not revoke the datasource's readiness. A scanner's checkpoint advances only when its whole snapshot commits, so a failed run restarts from the last known-good point instead of re-doing or skipping work. - Repair. Curators repair an invalid asset by editing it; Colrows re-runs the full validator and restores it to valid only when every check passes.
Run & manage pipelines
Pipelines are driven from the Colrows console, and the same operations are available on the platform API for administrators and curators. The main entry points:
| Operation | Endpoint |
|---|---|
| Run a source scan (metadata / profile) | POST /consensus/datasources/{datasourceId}/sources/scan |
| Regenerate relationships, category sets, descriptions | POST /consensus/datasources/{datasourceId}/discoveries/regenerate |
| Mine query history for joins | POST /consensus/query-history/extract |
| Publish to graph & vector stores | POST /consensus/datasources/{datasourceId}/publication/publish |
| Repair graph / vector projections | POST /consensus/datasources/{datasourceId}/projections/repair |
| Datasource readiness | GET /consensus/datasources/{datasourceId}/semantic-state |
| Track a run | GET /consensus/operations/{operationId} |
| Scanner schedules | GET·POST /consensus/datasources/{datasourceId}/scanner-schedules |
| Import a catalog glossary | POST /catalog/sync/{datasourceId} |
| Upload a document | POST /consensus/documents/upload |
Scan, regenerate, publish, schedule, and import operations change the semantic layer, so they run under an administrator or curator identity and are recorded in the audit trail.
Where this fits
The pipelines build the layer; other pages show what it becomes and how you govern it:
Want to see Colrows build a semantic layer from your own sources?
Book a technical walkthrough →