[Home](https://categoricaldata.net)|
[Download](download.html)|
[Getting Started](examples.html)|
[Manual](help/index.html)|
[Wiki](https://github.com/CategoricalData/CQL/wiki)|
[Papers](papers.html)|
[Screen Shots](screens.html)|
[Github](https://github.com/categoricalData)|
[Google Group](https://groups.google.com/forum/#!forum/categoricaldata)|
[Conexus AI](https://conexus.com)|
[Contact](mailto:info@conexus.com)
A principled way to transform data #
Open-source CQL and its integrated development environment (IDE) performs data-related tasks — such as querying, combining, migrating, and evolving databases — using category theory, a branch of mathematics that has revolutionized several areas of computer science. Open-source CQL is production-ready for single-node in-memory data processing workloads, such as integrating data for data science. It is being commercialized by Conexus AI; for inquiries, contact Ryan Wisnesky.
|
Value Proposition #
Reduce risk of failure through artificial intelligence. CQL contains an embedded automated theorem prover that guarantees the correctness of CQL programs. For example,a CQL program cannot materialize an instance that violates a data integrity constraint. Such errors are detected at compile time, when they are easiest to fix.Preserve data quality. High-quality data is expensive to obtain, so it is important to preserve that quality throughout the data life-cycle. CQL programs evolve and migrate data in a mathematically universal way, with zero degradation. As such, data integrated by CQL has many advantages, including perfect provenance:every row in the output of an CQL program contains a lineage that describes exactly how that row was obtained from input data.Increased developer productivity through higher-level abstractions. CQL generalizes concepts from SQL using powerful principles from category theory. For example,CQL generalizes SQL's select-from-where queries from returning single tables to returning many tables related by foreign keys. Such higher-level abstractions enable developers to be more productive.
Key Features #
Flexible I/O: data can be imported into and exported out of CQLby JDBC-SQL, CSV, and more.Visualization: CQLschemas,databases, etc. can be displayed graphically.Rich data integrity constraints: CQL schemas contain entities, attributes, and foreign keys - as well asequations between them. One use of equations is fordenormalization without the need to manually enforce the consistency of redundant data.Computational schemas:user-defined functions are part of CQL schemasand can be specified using java, javascript, or purely equationally. CQL's theorem prover can reason about user-defined functions and how they relate to data integrity constraints.More principled than SQL: relational concepts such asforeign keys re-appear, in a more principled form, in CQL. AndCQL provides primitives that SQL lacks.100% java. User-defined functions can be written in java or javascript, and a deep embedding of CQL into Haskell, in collaboration withStatebox, is under development.Stateless. CQL is not a database management system: it neither stores nor updates data. It is acanonical functional programming languageand IDE whose scalability is similar to that of SQL andchase engines.
Powered by
Kan extensions / Silmarils / applied category theory. CQL provides a reference implementation of David Spivak's
[ologs (ontology logs)](https://arxiv.org/abs/1102.1889).
[Sigma Delta Pi Schwag Store](https://www.bystadium.com/us/en/stores/cql-merch2-93792/S038133016)