Hidders, Jan and Paredaens, J. and Van den Bussche, J. (2017) J-Logic: logical foundations for JSON querying. In: UNSPECIFIED (ed.) PODS '17: Proceedings of the 36th ACM SIGMOD-SIGACT-SIGAI Symposium on Principles of Database Systems. New York, U.S.: ACM, pp. 137-149. ISBN 9781450341981.
Text
3034786.3056106.pdf - Published Version of Record Restricted to Repository staff only Download (651kB) |
Abstract
We propose a logical framework, based on Datalog, to study the foundations of querying JSON data. The main feature of our approach, which we call J-Logic, is the emphasis on paths. Paths are sequences of keys and are used to access the tree structure of nested JSON objects. J-Logic also features "packing" as a means to generate a new key from a path or subpath. J-Logic with recursion is computationally complete, but many queries can be expressed without recursion, such as deep equality. We give a necessary condition for queries to be expressible without recursion. Most of our results focus on the deterministic nature of JSON objects as partial functions from keys to values. Predicates defined by J-Logic programs may not properly describe objects, however. Nevertheless we show that every object-to-object transformation in J-Logic can be defined using only objects in intermediate results. Moreover we show that it is decidable whether a positive, nonrecursive J-Logic program always returns an object when given objects as inputs. Regarding packing, we show that packing is unnecessary if the output does not require new keys. Finally, we show the decidability of query containment for positive, nonrecursive J-Logic programs.
Metadata
Item Type: | Book Section |
---|---|
School: | Birkbeck Faculties and Schools > Faculty of Science > School of Computing and Mathematical Sciences |
Research Centres and Institutes: | Birkbeck Knowledge Lab |
Depositing User: | Jan Hidders |
Date Deposited: | 05 Feb 2020 10:50 |
Last Modified: | 09 Aug 2023 12:47 |
URI: | https://eprints.bbk.ac.uk/id/eprint/30716 |
Statistics
Additional statistics are available via IRStats2.