Abstract

AbstractIn 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 schemaSform a category,S–Inst, and a morphism of schemasF:S→Tinduces three adjoint data migration functors: ΣF:S–Inst→T–Inst, defined by substitution alongF, which has a right adjoint ΔF:T–Inst→S–Inst, which in turn has a right adjoint Π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).

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call