Static and dynamic semantics of NoSQL languages

Véronique Benzaken, Giuseppe Castagna, Kim Nguyen, Jérôme Siméon
2013 Proceedings of the 40th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages - POPL '13  
We present a calculus for processing semistructured data that spans differences of application area among several novel query languages, broadly categorized as "NoSQL". This calculus lets users define their own operators, capturing a wider range of data processing capabilities, whilst providing a typing precision so far typical only of primitive hard-coded operators. The type inference algorithm is based on semantic type checking, resulting in type information that is both precise, and flexible
more » ... enough to handle structured and semistructured data. We illustrate the use of this calculus by encoding a large fragment of Jaql, including operations and iterators over JSON, embedded SQL expressions, and co-grouping, and show how the encoding directly yields a typing discipline for Jaql as it is, namely without the addition of any type definition or type annotation in the code.
doi:10.1145/2429069.2429083 dblp:conf/popl/BenzakenCNS13 fatcat:7so53pdrmneetjckvcv4ppl7we