The Essence of Functional Programming on Semantic Data


Semantic data fuels many different applications, but is still lacking proper integration into programming languages. Untyped access is error-prone. Mapping approaches cannot fully capture the conceptualization of semantic data. In this paper, we present ${\lambda_{DL}}$, a typed ${\lambda}$-calculus with constructs for operating on semantic data. This is achieved by the integration of description logics into the ${\lambda}$-calculus for both typing and data access or querying. The language is centered around several key design principles, in particular: (1) the usage of semantic conceptualizations as types, (2) subtype inference for these types, and (3) type-checked query access to the data by both ensuring the satisfiability of queries as well as typing query results precisely. The paper motivates the use of a designated type system for semantic data and it provides the theoretic foundation for the integration of description logics as well as the core formal definition of ${\lambda_{DL}}$ including a proof of type safety.

Proceedings of the 26th European Symposium on Programming (ESOP)