Honeydew Semantic Layer enables to create a source of truth for an organization
business logic.The following objects exist in Honeydew:
Honeydew workspace: A stand-alone semantic model. Resides in a single directory
in a git repository.
Entity: a granular business concept (like “customer” or “transaction”)
that is mapped to data in a data warehouse. Entities are connected by relations.
Source Data: Data mapping to an entity. Defines the physical place for
the data of an entity.
Source Attributes: Columns in a source table that appear as attributes
(properties) of the enclosing entity. For example, the customer_id column might be mapped to the id
attribute of the customer entity.
Calculated Attributes: Virtual columns in an entity. Defined by a calculation, calculated
attributes extend the properties of an entity. For example, may define an amount_usd property that is based on
multiplying a transaction amount by the daily exchange rate for USD.
Metrics: Aggregations that can be performed on an entity. Defined by an aggregative statement,
metrics set how data of an entity is counted to build a KPI. For example, may define a total_sales metric that
aggregates sales data using a SUM. Metrics are a core concept to a Semantic Layer.
Domains: A business domain defined by a selection of fields from different entities, and an
accompanying configuration like data filtering. A domain allows to map subsets of the semantic layer to
specific use cases like a sales BI environment or an AI agent.
Additional optional objects in a workspace may include:
Parameters: Global parameters that are used to adjust the behavior of the semantic layer.
Dynamic Datasets: Materialized datasets built by the semantic layer as database objects or dbt models.