The power of languages for the manipulation of complex values

Serge Abiteboul*, Catriel Beeri

*Corresponding author for this work

Research output: Contribution to journalArticlepeer-review

73 Scopus citations

Abstract

Various models and languages for describing and manipulating hierarchically structured data have been proposed. Algebraic, calculus-based, and logic-programming oriented languages have all been considered. This article presents a general model for complex values (i.e., values with hierarchical structures), and languages for it based on the three paradigms. The algebraic language generalizes those presented in the literature; it is shown to be related to the functional, style of programming advocated by Backus (1978). The notion of domain independence (from relational databases) is defined, and syntactic restrictions (referred to as safety conditions) on calculus queries are formulated to guarantee domain independence. The main results are: The domain-independent calculus, the safe calculus, the algebra, and the logic-programming oriented language have equivalent expressive power. In particular, recursive queries, such as the transitive closure, can be expressed in each of the languages. For this result, the algebra needs the powerset operation. A more restricted version of safety is presented, such that the restricted safe calculus is equivalent to the algebra without the powerset. The results are extended to the case where arbitrary functions and predicates are used in the languages.

Original languageEnglish
Pages (from-to)727-794
Number of pages68
JournalVLDB Journal
Volume4
Issue number4
DOIs
StatePublished - Oct 1995

Keywords

  • complex object
  • complex value
  • Database
  • database model
  • query language

Fingerprint

Dive into the research topics of 'The power of languages for the manipulation of complex values'. Together they form a unique fingerprint.

Cite this