Encyclopedia of Database Systems

2018 Edition
| Editors: Ling Liu, M. Tamer Özsu


  • Peter M. D. GrayEmail author
Reference work entry
DOI: https://doi.org/10.1007/978-1-4614-8265-9_5020


Calculus expression; List comprehension; Set abstraction; ZF-expression


The comprehension comes from ideas of mathematical set theory. It originated as a way of defining sets of values so as to avoid the famous paradoxes of early set theory, by starting from other well-defined sets and using some carefully chosen constructors and filters. The values in the sets could be tuples of basic values, which suits the relational model, or they could be object identifiers, which fits with ODMG object data models [2], or they could be tagged variant records which fit well with semi-structured data. They could even be sets, lists or bags defined by other comprehensions.

The abstract structure of a comprehension precisely describes almost all the computations done in functional query languages, despite their very different surface syntax. Better still, it allows many optimizations to be expressed as well defined mathematical transformations.

Key Points

Consider an example, using...

This is a preview of subscription content, log in to check access.

Recommended Reading

  1. 1.
    Buneman P, Libkin L, Suciu D, Tannen V, Wong L. Comprehension syntax. ACM SIGMOD Rec. 1994;23(1):87–96.CrossRefGoogle Scholar
  2. 2.
    Fegaras L, Maier D. Towards an effective calculus for Object Query Languages. In: Proceedings of the ACM SIGMOD International Conference on Management of Data; 1995. p. 47–58.CrossRefGoogle Scholar

Copyright information

© Springer Science+Business Media, LLC, part of Springer Nature 2018

Authors and Affiliations

  1. 1.University of AberdeenAberdeenUK

Section editors and affiliations

  • Tore Risch
    • 1
  1. 1.Department of Information TechnologyUppsala UniversityUppsalaSweden