{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,4,22]],"date-time":"2026-04-22T20:57:19Z","timestamp":1776891439010,"version":"3.51.2"},"reference-count":40,"publisher":"Centre pour la Communication Scientifique Directe (CCSD)","license":[{"start":{"date-parts":[[2017,11,2]],"date-time":"2017-11-02T00:00:00Z","timestamp":1509580800000},"content-version":"unspecified","delay-in-days":305,"URL":"https:\/\/www.cambridge.org\/core\/terms"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["J. Funct. Prog."],"published-print":{"date-parts":[[2017]]},"abstract":"<jats:title>Abstract<\/jats:title>\n                  <jats:p>\n                    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\n                    <jats:italic>S<\/jats:italic>\n                    form a category,\n                    <jats:italic>S<\/jats:italic>\n                    \u2013\n                    <jats:bold>Inst<\/jats:bold>\n                    , and a morphism of schemas\n                    <jats:italic>F<\/jats:italic>\n                    :\n                    <jats:italic>S<\/jats:italic>\n                    \u2192\n                    <jats:italic>T<\/jats:italic>\n                    induces three adjoint data migration functors: \u03a3\n                    <jats:sub>\n                      <jats:italic>F<\/jats:italic>\n                    <\/jats:sub>\n                    :\n                    <jats:italic>S<\/jats:italic>\n                    \u2013\n                    <jats:bold>Inst<\/jats:bold>\n                    \u2192\n                    <jats:italic>T<\/jats:italic>\n                    \u2013\n                    <jats:bold>Inst<\/jats:bold>\n                    , defined by substitution along\n                    <jats:italic>F<\/jats:italic>\n                    , which has a right adjoint \u0394\n                    <jats:sub>\n                      <jats:italic>F<\/jats:italic>\n                    <\/jats:sub>\n                    :\n                    <jats:italic>T<\/jats:italic>\n                    \u2013\n                    <jats:bold>Inst<\/jats:bold>\n                    \u2192\n                    <jats:italic>S<\/jats:italic>\n                    \u2013\n                    <jats:bold>Inst<\/jats:bold>\n                    , which in turn has a right adjoint \u03a0\n                    <jats:sub>\n                      <jats:italic>F<\/jats:italic>\n                    <\/jats:sub>\n                    :\n                    <jats:italic>S<\/jats:italic>\n                    \u2013\n                    <jats:bold>Inst<\/jats:bold>\n                    \u2192\n                    <jats:italic>T<\/jats:italic>\n                    \u2013\n                    <jats:bold>Inst<\/jats:bold>\n                    . 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).\n                  <\/jats:p>","DOI":"10.1017\/s0956796817000168","type":"journal-article","created":{"date-parts":[[2017,11,2]],"date-time":"2017-11-02T08:13:02Z","timestamp":1509610382000},"source":"Crossref","is-referenced-by-count":9,"title":["Algebraic data integration"],"prefix":"10.46298","volume":"27","author":[{"given":"PATRICK","family":"SCHULTZ","sequence":"first","affiliation":[]},{"given":"RYAN","family":"WISNESKY","sequence":"additional","affiliation":[]}],"member":"25203","published-online":{"date-parts":[[2017,11,2]]},"reference":[{"key":"S0956796817000168_ref40","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-41366-7_24"},{"key":"S0956796817000168_ref37","doi-asserted-by":"publisher","DOI":"10.1016\/j.ic.2012.05.001"},{"key":"S0956796817000168_ref35","doi-asserted-by":"crossref","unstructured":"Schultz P. , Spivak D. I. & Wisnesky R. (2016) Algebraic model management: A survey. In Proceedings of the Workshop on Algebraic Development Techniques.","DOI":"10.1007\/978-3-319-72044-9_5"},{"key":"S0956796817000168_ref33","article-title":"Algebraic databases","volume":"32","author":"Schultz","year":"2017","journal-title":"Theory Appl. Categ."},{"key":"S0956796817000168_ref32","unstructured":"Roberson E. L. & Wyss C. M. (2004) Optimal tuple merge is NP-complete. Bloomington: Indiana University School of Informatics and Computing."},{"key":"S0956796817000168_ref30","doi-asserted-by":"publisher","DOI":"10.1145\/322186.322198"},{"key":"S0956796817000168_ref29","unstructured":"Mossakowski T. , Rabe F. & Mihai C. (2017) Canonical selection of colimits, Algebraic Model Management: A Survery. arXiv:1705.09363."},{"key":"S0956796817000168_ref25","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-540-31959-7_6"},{"key":"S0956796817000168_ref24","volume-title":"Computational Problems in Abstract Algebra","author":"Knuth","year":"1970"},{"key":"S0956796817000168_ref22","first-page":"94","article-title":"Entity-Relationship-Attribute designs and sketches.","volume":"10","author":"Johnson","year":"2002","journal-title":"Theory Appl. Categories"},{"key":"S0956796817000168_ref20","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-662-05372-0_12"},{"key":"S0956796817000168_ref19","unstructured":"Goguen J. (2004) Information Integration in Institutions [online]. Available at: http:\/\/cseweb.ucsd.edu\/~goguen\/pps\/ifi04.pdf"},{"key":"S0956796817000168_ref18","unstructured":"Goguen J. A. & Burstall R. M. (1984) Introducing institutions. In Proceedings of the Carnegie Mellon Workshop on Logic of Programs, 221\u2013256."},{"key":"S0956796817000168_ref16","volume-title":"Database Systems: The Complete Book","author":"Garcia-Molina","year":"2008"},{"key":"S0956796817000168_ref15","doi-asserted-by":"publisher","DOI":"10.1016\/S0747-7171(02)00104-9"},{"key":"S0956796817000168_ref14","doi-asserted-by":"publisher","DOI":"10.1145\/1114244.1114249"},{"key":"S0956796817000168_ref13","doi-asserted-by":"publisher","DOI":"10.1016\/j.tcs.2004.10.033"},{"key":"S0956796817000168_ref12","volume-title":"A Mathematical Introduction to Logic","author":"Enderton","year":"2001"},{"key":"S0956796817000168_ref5","doi-asserted-by":"publisher","DOI":"10.1017\/CBO9781139172752"},{"key":"S0956796817000168_ref4","doi-asserted-by":"publisher","DOI":"10.1145\/1322432.1322433"},{"key":"S0956796817000168_ref3","unstructured":"Alagic S. & Bernstein P. (2001) A model theory for generic schema management. In Proceedings of the 8th International Workshop on Database Programming Languages, 228\u2013246."},{"key":"S0956796817000168_ref1","volume-title":"Foundations of Databases","author":"Abiteboul","year":"1995"},{"key":"S0956796817000168_ref8","volume-title":"Interactive Theorem Proving and Program Development: Coq'art the Calculus of Inductive Constructions","author":"Bertot","year":"2010"},{"key":"S0956796817000168_ref34","unstructured":"Schultz P. , Spivak D. I. & Wisnesky R. (2015) QINL: Query-integrated languages. arXiv: 1511.06459."},{"key":"S0956796817000168_ref27","volume-title":"Foundations of Programming Languages","author":"Mitchell","year":"1996"},{"key":"S0956796817000168_ref23","doi-asserted-by":"publisher","DOI":"10.1137\/0214073"},{"key":"S0956796817000168_ref9","doi-asserted-by":"publisher","DOI":"10.1016\/0022-0000(87)90028-6"},{"key":"S0956796817000168_ref26","doi-asserted-by":"publisher","DOI":"10.1145\/872757.872782"},{"key":"S0956796817000168_ref11","volume-title":"Principles of Data Integration","author":"Doan","year":"2012"},{"key":"S0956796817000168_ref36","doi-asserted-by":"publisher","DOI":"10.1145\/319540.319561"},{"key":"S0956796817000168_ref7","volume-title":"Category Theory for Computing Science","author":"Barr","year":"1995"},{"key":"S0956796817000168_ref10","doi-asserted-by":"publisher","DOI":"10.1016\/S0747-7171(02)00102-5"},{"key":"S0956796817000168_ref31","unstructured":"Patterson E. (2017) Knowledge representation in bicategories of relations. arXiv:1706.00526."},{"key":"S0956796817000168_ref38","doi-asserted-by":"publisher","DOI":"10.1017\/S0960129513000479"},{"key":"S0956796817000168_ref21","doi-asserted-by":"crossref","unstructured":"Haas L. M. , Hern\u00e1ndez M. A. , Ho H. , Popa L. & Roth M. (2005) Clio grows up: From research prototype to industrial tool. In Proceedings of the International Conference on Management of Data, 805\u2013810.","DOI":"10.1145\/1066157.1066252"},{"key":"S0956796817000168_ref28","first-page":"90","volume-title":"Recent Trends in Algebraic Development Techniques","author":"Mossakowski","year":"2014"},{"key":"S0956796817000168_ref17","unstructured":"Ghilardi S. , Lutz C. & Wolter F. (2006) Did I damage my ontology? A case for conservative extensions in description logics. In Proceedings of the 10th International Conference on Principles of Knowledge Representation and Reasoning, 187\u2013197."},{"key":"S0956796817000168_ref2","volume-title":"Algebraic Theories","author":"Ad\u00e1mek","year":"2011"},{"key":"S0956796817000168_ref39","doi-asserted-by":"crossref","unstructured":"Spivak D. I. & Wisnesky R. (2015) Relational foundations for functorial data migration. In Proceedings of the 15th Symposium on Database Programming Languages, 21\u201328.","DOI":"10.1145\/2815072.2815075"},{"key":"S0956796817000168_ref6","article-title":"Completion without failure","volume":"2","author":"Bachmair","year":"1989","journal-title":"Resolution Equ. Algebr. Struct. \u2013 Rewriting Tech."}],"container-title":["Journal of Functional Programming"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/www.cambridge.org\/core\/services\/aop-cambridge-core\/content\/view\/S0956796817000168","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2026,4,22]],"date-time":"2026-04-22T20:19:52Z","timestamp":1776889192000},"score":1,"resource":{"primary":{"URL":"https:\/\/www.cambridge.org\/core\/product\/identifier\/S0956796817000168\/type\/journal_article"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2017]]},"references-count":40,"alternative-id":["S0956796817000168"],"URL":"https:\/\/doi.org\/10.1017\/s0956796817000168","relation":{},"ISSN":["0956-7968","1469-7653"],"issn-type":[{"value":"0956-7968","type":"print"},{"value":"1469-7653","type":"electronic"}],"subject":[],"published":{"date-parts":[[2017]]},"article-number":"e24"}}