The SQL++ Query Language: Configurable, Unifying and Semi-structured
Kian Win Ong, Yannis Papakonstantinou, Romain Vernoux

TL;DR
SQL++ is a formal, configurable query language that unifies and extends existing semi-structured data query languages, supporting JSON and SQL databases with formal semantics and practical validation.
Contribution
It introduces SQL++, a unifying, semi-structured query language with formal semantics, configurable options, and demonstrated applicability to multiple NoSQL and SQL databases.
Findings
SQL++ can describe MongoDB, Cassandra CQL, Couchbase N1QL, and AsterixDB AQL.
Version 4 of Couchbase N1QL is syntactic sugar over SQL++.
AsterixDB will support full SQL++ and Apache Drill aligns with it.
Abstract
NoSQL databases support semi-structured data, typically modeled as JSON. They also provide limited (but expanding) query languages. Their idiomatic, non-SQL language constructs, the many variations, and the lack of formal semantics inhibit deep understanding of the query languages, and also impede progress towards clean, powerful, declarative query languages. This paper specifies the syntax and semantics of SQL++, which is applicable to both JSON native stores and SQL databases. The SQL++ semi-structured data model is a superset of both JSON and the SQL data model. SQL++ offers powerful computational capabilities for processing semi-structured data akin to prior non-relational query languages, notably OQL and XQuery. Yet, SQL++ is SQL backwards compatible and is generalized towards JSON by introducing only a small number of query language extensions to SQL. Recognizing that a query…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsAdvanced Database Systems and Queries · Data Management and Algorithms · Semantic Web and Ontologies
