Activation¶
You've defined your models, validated them, and shipped a semantic layer. Now downstream tools need to read it: a dashboard in PowerBI, a notebook in Python, a customer-facing app, an analyst running ad-hoc SQL.
Activation is how each of those surfaces connects to the same governed definitions, without re-modeling the data per tool.
graph LR
subgraph SL ["Your Semantic Layer"]
direction TB
Sem["<b>Dimensions · Measures<br/>Segments · Metrics</b>"]
end
subgraph CH ["Activation Channels"]
direction TB
API["<b>REST / GraphQL API</b><br/>Apps & services"]
BI["<b>BI tools</b><br/>PowerBI · Tableau · Superset"]
SQL["<b>MySQL wire protocol</b><br/>IDEs · ad-hoc SQL"]
PY["<b>Python</b><br/>Notebooks · ML training"]
end
subgraph OUT ["Where it lands"]
Apps[Internal tools, customer apps]
Dash[Dashboards, reports]
Adhoc[Ad-hoc analysis, exports]
Models[Trained models, features]
end
Sem --> API --> Apps
Sem --> BI --> Dash
Sem --> SQL --> Adhoc
Sem --> PY --> Models
style SL fill:#fff9c4,stroke:#fbc02d,stroke-width:2px
style CH fill:#e3f2fd,stroke:#1976d2,stroke-width:1px
style OUT fill:#c8e6c9,stroke:#2e7d32,stroke-width:1px
What activation gives you¶
Your semantics are the contract. Every channel reads from the same definitions, so a metric called total_revenue means the same thing in PowerBI, in a Python notebook, and in a customer-facing API. No re-modeling, no drift, no "which dashboard is right?"
Channels¶
1. Build applications (API). Hit the REST or GraphQL endpoint to pull semantic data into internal tools, customer-facing products, or workflows. The semantics handle the joins and aggregations; your app just asks for measures and dimensions. See the Vulcan API Guide.
2. Visualize (BI tools). Connect PowerBI, Tableau, or Superset over the MySQL wire protocol. Your dimensions and measures show up as fields, ready for charts and drilldowns. No SQL in the dashboard, no metric definitions duplicated per workbook. See BI tools.
3. Explore (MySQL). Point any MySQL-compatible client (CLI, DBeaver, JetBrains, etc.) at the same wire protocol for ad-hoc querying or to power exports and integrations. See MySQL.
4. Train models (Python). Pull semantic data into a notebook with the standard mysql-connector-python library. The features and labels you train on are the same ones your dashboards report against. See Python.
How it pays off¶
Define the metric once. Every team, tool, and use case downstream gets the same answer. That's the point of investing in the semantic layer in the first place.