MATIH Platform is in active MVP development. Documentation reflects current implementation status.
10. Data Catalog & Governance
Semantic Layer
Architecture

Semantic Layer Architecture

The Semantic Layer provides a unified abstraction over physical data sources, allowing users to query business metrics and dimensions using semantic concepts rather than raw SQL. Built on Model Definition Language (MDL) and integrated with WrenAI for natural language support, the Semantic Layer translates business questions into optimized SQL queries against the underlying data platform.


Architecture Overview

Natural Language / Metric Query
         |
         v
   Semantic Layer API
         |
    +-----------+----------+-----------+
    |           |          |           |
  MDL Service  NL Engine  Query       Metric
  (Models)     (WrenAI)   Optimizer   Versioning
    |           |          |           |
    +-----------+----------+-----------+
         |
         v
   SQL Compilation
         |
         v
   Query Engine (Trino)

Core Components

ComponentDescription
MDL ServiceManages Model Definition Language definitions for semantic models
Semantic Model ServiceCRUD operations for semantic models, metrics, and dimensions
Metric Query ServiceCompiles and executes metric queries against models
Natural Language EngineTranslates natural language questions to semantic queries via WrenAI
Query OptimizerOptimizes compiled SQL using cost-based analysis and rewrite rules
Metric VersioningTracks metric definition changes with rollback capability
Relationship ServiceManages joins and relationships between semantic models

Key Concepts

ConceptDescription
Semantic ModelA logical representation of a data entity with metrics and dimensions
MetricAn aggregatable measure defined on a model (SUM, COUNT, AVERAGE, etc.)
DimensionA categorical or temporal attribute used for grouping and filtering
RelationshipA join definition between two semantic models
MDL DefinitionA declarative specification of models, metrics, dimensions, and relationships
Time GrainThe temporal granularity for time-based analysis (DAY, WEEK, MONTH, QUARTER, YEAR)

Data Flow

StepDescription
1User submits a metric query or natural language question
2The Semantic Layer resolves models, metrics, and dimensions
3Relationships are traversed to build JOIN clauses
4The query compiler generates SQL from the semantic query
5The query optimizer applies rewrite rules and cost-based optimization
6The optimized SQL is sent to the Query Engine for execution
7Results are returned with column metadata

Tenant Isolation

All semantic layer operations are scoped to a tenant via the X-Tenant-ID header. Each tenant has its own set of models, metrics, dimensions, and relationships. Cross-tenant data access is not permitted.


Section Pages

PageDescription
Semantic ModelsModel creation, configuration, and lifecycle
Metric QueriesCompiling and executing metric queries
Natural LanguageNatural language to query translation
Query OptimizationSQL optimization and plan caching
Advanced MetricsCumulative, period-over-period, and statistical metrics
Metric VersioningVersion history and rollback for metrics
RelationshipsModel relationships and join definitions
API ReferenceComplete endpoint reference