-
Notifications
You must be signed in to change notification settings - Fork 0
/
papers.html
151 lines (136 loc) · 12.8 KB
/
papers.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
<!DOCTYPE HTML>
<html lang="en">
<head>
<script async src="https://www.googletagmanager.com/gtag/js?id=G-CD4ENCFV58"></script>
<!-- Google tag (gtag.js) -->
<script async src="https://www.googletagmanager.com/gtag/js?id=G-64DRFX06T1"></script>
<script >
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'G-64DRFX06T1');
</script>
<title>CQL</title>
<link rel="shortcut icon" href="../favicon.ico" >
<link rel="StyleSheet" href="css/nstyle.css" type="text/css" media="all" >
<meta charset="utf-8">
<meta name="keywords" content="CQL,SQL,Data Integration, Data Migration, Category Theory, ETL" >
<meta name="description" content="Conexus CQL" >
<meta name="keywords" content="CQL, functorial, category theory, data integration, data migration, categorical databases, SQL, categorical query language" >
</head>
<body>
<div id="content">
<h1>Categorical Databases<img src="logo.png" height="32" style="float: right;" alt="logo" ></h1>
<a href="https://categoricaldata.net">Home</a> |
<a href="download.html">Download</a> |
<a href="examples.html">Getting Started</a> |
<a href="help/index.html" target="_blank">Manual</a> |
<a href="https://github.com/CategoricalData/CQL/wiki" target="_blank">Wiki</a> |
<a href="papers.html">Papers</a> |
<a href="screens.html">Screen Shots</a> |
<a href="https://github.com/categoricalData" target="_blank">Github</a> |
<a href="https://groups.google.com/forum/#!forum/categoricaldata" target="_blank">Google Group</a> |
<a href="https://conexus.com" target="_blank">Conexus</a> |
<a href="mailto:[email protected]">Contact</a>
<br><br>
<hr>
<h2> <b>Read This First</b> </h2>
The suggested introductory course of study includes an introductory
<a href="https://arxiv.org/abs/2301.04846">paper</a> about CQL for computer scientists,
introductory <a href ="cql/lambdaconf.pdf">slides</a>
and <a href="https://www.youtube.com/watch?v=GkHce4zWmUk">video</a> about CQL from a functional programming perspective,
introductory <a href ="cql/Kensho-CategoricalDatabases_20190227.pdf">slides</a>
and <a href="https://www.youtube.com/watch?v=bk36__qkhrk">video</a> about CQL from a mathematical perspective,
introductory <a href="https://www.nasa.gov/sites/default/files/ivv_wojtowicz_sketch_theory_as_a_framework_for_knowledge_management_090214.pdf">slides</a>
about category theory from a knowledge management perspective,
a <a href="https://www.researchgate.net/publication/321302956_Categorical_Foundations_for_System_Engineering">paper</a>
from <a href="https://www.nist.gov">NIST</a> arguing that category theory is critical for IT interoperability, and an
introductory <a href="https://files.farka.eu/pub/Awodey_S._Category_Theory(en)(305s).pdf">textbook</a>
on category theory, as well as a data science <a href="https://arxiv.org/abs/1903.10579">case study</a>.
<br><br>
<h2>Papers</h2>
<ul>
<li> <a href="https://journals.plos.org/plosone/article?id=10.1371/journal.pone.0024274">Ologs: A Categorical Framework for Knowledge Representation</a> (2011) [<a href="http://arxiv.org/pdf/1102.1889.pdf">Pre-print</a>]
| Describes how to use categories as database/ontology schemas.
</li>
<li> <a href="https://www.sciencedirect.com/science/article/pii/S0890540112001010">Functorial Data Migration</a> (2013) [<a href="http://arxiv.org/abs/1009.1166">Pre-print</a>]
| Describes how to migrate data between categorical databases.</li>
<li> <a href="https://www.cambridge.org/core/journals/mathematical-structures-in-computer-science/article/database-queries-and-constraints-via-lifting-problems/9B3D9C74EB12F65BAD045D53C8D4549F">Database Queries and Constraints via Lifting Problems</a> (2013) [<a href="http://arxiv.org/abs/1202.2591">Pre-print</a>]
| Describes how certain common database queries and constraints can be encoded as topological lifts.</li>
<li> <a href="cql/fql_def.pdf">Definition of CQL as a context-free grammar with equations </a> (2015)
| Describes a canonical syntax associated with CQL, as well as an axiomatic semantics.</li>
<li> <a href="https://dl.acm.org/citation.cfm?doid=2815072.2815075">Relational Foundations for Functorial Data Migration </a> (2015) [<a href="http://arxiv.org/abs/1212.5303">Pre-print</a>] [<a href="cql/relfound_slides.pdf">slides</a>]
| Describes how to implement a fragment of CQL using SELECT/FROM/WHERE/UNION and a fresh-ID generator, and vice versa. </li>
<li> <a href="https://arxiv.org/abs/1511.06459">QINL: Query-Integrated Languages</a> (2015)
| Describes the relationship between CQL and comprehension/monad syntax.</li>
<li> <a href="https://link.springer.com/chapter/10.1007/978-3-319-72044-9_5">Algebraic Model Management: A Survey</a> (2016) [<a href="https://arxiv.org/abs/2301.04846">Pre-print</a>]
| Describes CQL entirely in terms of multi-sorted equational logic, and contrasts it with existing tools. </li>
<li> <a href="https://www.tac.mta.ca/tac/volumes/32/16/32-16abs.html">Algebraic Databases</a> (2017) [<a href="http://arxiv.org/abs/1602.03501">Pre-print</a>]
| Describes CQL in detail, and in particular, user-defined functions. </li>
<li> <a href="https://www.cambridge.org/core/journals/journal-of-functional-programming/article/algebraic-data-integration/AC36B1C39D4C76A18CB54F75B0D26796">Algebraic Data Integration</a> (2017) [<a href="http://arxiv.org/abs/1503.03571">Pre-print</a>] [<a href="cql/jfpslides.pdf">slides</a>] [<a href="cql/agg.pdf">Aggregation supplement</a>] [<a href="https://www.youtube.com/watch?v=hISpkiJLWfM">video</a>]
| Describes CQL in detail, and in particular, how to implement it using automated theorem proving techniques and how to use it to integrate data. </li>
<li> <a href="https://arxiv.org/abs/2001.00338">Informal Data Transformation Considered Harmful</a> (2019)
| Describes how CQL can preserve the data quality required to power machine learning algorithms through various data management tasks. </li>
<li> <a href="https://arxiv.org/abs/2205.02425">Fast Left Kan Extensions Using the Chase</a> (2022)
| Describes CQL's sigma operation in detail, and in particular, how to implement it using a chase engine. </li>
<li> <a href="https://arxiv.org/abs/2404.01406">Presenting Profunctors</a> (2024)
| Motivated by problems in categorical database theory, we introduce and compare two notions of presentation for profunctors, uncurried and curried. </li>
</ul>
<h2>Case Studies</h2>
<ul>
<li> <a href="https://computingengineering.asmedigitalcollection.asme.org/article.aspx?articleid=2539429">Using Category Theory to Facilitate Multiple Manufacturing Service Database Integration</a> (2017) [<a href="cql/JCISC.pdf">Pre-print</a>] [<a href="http://arxiv.org/abs/1502.05947">Companion Report</a>]
| Describes how CQL can be used for ontology-driven semantic search, and applied to commercial supply chains. Joint work with NIST, it extends the RDF-based approach previously pursued by NIST. </li>
<li> <a href="https://doi.org/10.1016/j.commatsci.2019.04.002">Categorical Data Integration for Computational Science</a> (2019) [<a href="http://arxiv.org/abs/1903.10579">Pre-print</a>] [<a href="https://github.com/kris-brown/cql_data_integration">Code</a>] [<a href="cql/chempres.pdf">Slides</a>]
| Describes how CQL can be used to integrate scientific data sets, such as those in quantum chemistry. Joint work with Stanford. </li>
<li> <a href="https://www.cs.ox.ac.uk/ACT2019/preproceedings/John%20Nolan,%20Blake%20Pollard,%20Spencer%20Breiner,%20Dhananjay%20Anand%20and%20Eswaran%20Subrahmanian.pdf">Compositional Models for Power Systems</a> (2019) [<a href="https://www.youtube.com/watch?v=BFVXCxiM9fU">Video</a>] [<a href="https://drive.google.com/file/d/1mmCjjsJrKHAeAe3lalIcFhIw0fDqT-7Q/view">Slides</a>]
| Describes how CQL can be used to integrate mathematical models of power grids in a modular way. Independent work by NIST. </li>
<li> <a href="cql/FinanceIntegration.pdf">Financial Reporting Data Warehousing with CQL</a> (2019)
| Describes how CQL can be used to construct data warehouses suitable for client reporting in financial asset management. </li>
<li> <a href="https://arxiv.org/abs/1909.04881">Algebraic Property Graphs</a> (2019) [<a href="https://github.com/CategoricalData/ApgCoq">Coq code</a>] [<a href="help/APG.html">CQL code</a>] [<a href="https://github.com/CategoricalData/CQL/tree/master/src/main/java/catdata/apg">Java code</a>]
| Describes how CQL can be used to integrate enterprise knowledge graphs. Joint work with Uber. </li>
<li> <a href="https://arxiv.org/abs/2403.01630">Relational to RDF Data Migration by Query Co-Evaluation</a> (Draft, 2021)
| Describes how CQL can be used to migrate relational data to RDF form, using the FIBO financial RDF ontology as an example. </li>
<li> <a href="https://arxiv.org/abs/2209.14457">Consensus-Free Spreadsheet Integration</a> (Draft, 2022)
| Describes how CQL can be used to integrate spreadsheets. Join work with Chevron. </li>
</ul>
<h2>Presentations</h2>
<ul>
<li> <a href="cql/introSlides.pdf">Boston Haskell</a> (2011) [videos <a href="https://www.youtube.com/watch?v=wJIpI0Fj6Hg">1</a> <a href="https://www.youtube.com/watch?v=Bm41eCX13c0">2</a> <a href="https://www.youtube.com/watch?v=5RzRdhT8VTo">3</a> <a href="https://www.youtube.com/watch?v=jmuTZuj1-dg">4</a> <a href="https://www.youtube.com/watch?v=EREslJdIOB0">5</a>]
| Gives an introduction to the math behind CQL. </li>
<li> <a href="cql/oracle.pdf">Oracle</a> (2014)
| Gives an introduction to the math behind CQL, tailored to database-centric audiences. </li>
<li> <a href="cql/haskell.pdf">Boston Haskell</a> (2014) [<a href="https://www.youtube.com/watch?v=Q0m8baqBrk4">video</a>]
| Gives an introduction to the math behind CQL, tailored to functional-programming audiences. </li>
<li> <a href="cql/lambdaconf.pdf">Lambda Conf</a> (2017) [<a href="https://www.youtube.com/watch?v=GkHce4zWmUk">video</a>]
| Gives an introduction to CQL for computer scientists. </li>
<li> <a href="cql/Broad_SoftEng.pdf">The Broad Institute </a> (2017) [<a href="https://www.youtube.com/watch?v=fTporauBJEs">video</a>]
| Gives an introduction to the math behind CQL, and lessons learned from applying it in practice. </li>
<li> <a href="cql/dataversity.pdf">Dataversity Architecture Summit</a> (2017)
| Gives an introduction to CQL tailored to data architects. </li>
<li> <a href="cql/Kensho-CategoricalDatabases_20190227.pdf">Kensho</a> (2019) [<a href="https://www.youtube.com/watch?v=bk36__qkhrk">video</a>]
| Gives an introduction CQL and the math behind it, and describes how it enables universal semantic IT inter-operability. </li>
</ul>
<h2>Related</h2>
<ul>
<li> <a href="https://www.cs.ox.ac.uk/files/3395/PRG72.pdf">A Categorical Manifesto</a> (1991)
| Describes why category theory matters: how it is useful in computer science. </li>
<li> <a href="https://link.springer.com/chapter/10.1007/3-540-46093-4_14">A Model Theory for Generic Schema Management</a> (2003)
| Describes how category theory can be used to study schema mappings in the sense of traditional database theory. </li>
<li> <a href="https://pdfs.semanticscholar.org/b8c8/5a3e7a04020259ec9a58c7e5563033f52844.pdf">Formal Modelling and Application of Graph Transformations in the Resource Description Framework</a> (2009)
| Describes various categories of RDF graphs in functorial-semantics style.</li>
<li> <a href="https://link.springer.com/chapter/10.1007/978-3-642-41366-7_24">Allegories for Database Modeling</a> (2013)
| Describes a relational variation of the math behind CQL based on allegories rather than categories.</li>
<li> <a href="https://www.nasa.gov/sites/default/files/ivv_wojtowicz_sketch_theory_as_a_framework_for_knowledge_management_090214.pdf">Sketches as a Framework for Knowledge Management</a> (2014)
| Describes how CQL and related Sketch-based formalisms can be used to integrate knowledge representations. </li>
<li> <a href="https://www.appliedcategorytheory.org/wp-content/uploads/2017/09/Rosebrugh-Implementing-database-design-and-manipulation-categorically.pdf">Entity-Attribute Sketches</a> (2015)
| Describes EASIK, a category-theoretic predecessor to CQL that now ships within, and interoperates with, CQL. </li>
<li> <a href="https://arxiv.org/abs/1706.00526">Knowledge Representation in Bicategories of Relations</a> (2017)
| Describes the math behind the allegorical approach to database modeling. </li>
<li> <a href="https://link.springer.com/chapter/10.1007/978-3-030-79382-1_24">Category Theory Framework for Variability Models with Non-functional Requirements</a> (2021)
| Describes an application of CQL to software engineering. [<a href="https://www.youtube.com/channel/UCzWhCiBZsna0M5rLLqB-ALw/videos">video</a>]</li>
<li> <a href="https://arxiv.org/abs/2403.19884">Representing Knowledge and Querying Data using Double-Functorial Semantics</a> (2024)
| Describes how the abstract structure of a 'double category of relations' is a flexible and expressive language in which to represent knowledge. </li>
</ul>
</div>
</body>
</html>