Algebraic data integration

作者:Schultz Patrick*; Wisnesky Ryan
来源:Journal of Functional Programming, 2017, 27: e24.
DOI:10.1017/S0956796817000168

摘要

In this paper, we develop an algebraic approach to data integration by combining techniques from functional programming, category theory, and database theory. In our formalism, database schemas and instances are algebraic (multi-sorted equational) theories of a certain form. Schemas denote categories, and instances denote their initial (term) algebras. The instances on a schema S form a category, S-Inst, and a morphism of schemas F : S -> T induces three adjoint data migration functors: Sigma(F) : S-Inst -> T-Inst, defined by substitution along F, which has a right adjoint Delta(F) : T-Inst -> S-Inst, which in turn has a right adjoint Pi(F) : S-Inst -> T-Inst. We present a query language based on for/where/return syntax where each query denotes a sequence of data migration functors; a pushout-based design pattern for performing data integration using our formalism; and describe the implementation of our formalism in a tool we call AQL (Algebraic Query Language).

  • 出版日期2017
  • 单位MIT