A semantic layer is a translation layer that sits between your data and business users, converting complex data into understandable business concepts. It allows business users to access data using terms they are familiar with by translating business terms into a format understood by the underlying database. The semantic layer can be thought of as a bridge between any data presentation layer (BI, notebooks, data apps) and the data sources. Key features include integrating data sources, modeling metrics, and integrating with data consumers by translating metrics into SQL, REST, or GraphQL.