SQL4X: A Flexible Query Language for XML and Relational Databases

SQL4X, a powerful language for simultaneously querying both relational and XML databases is presented. Using SQL4X, one can create both relations and XML documents as query results. Thus, SQL4X can be thought of as an integration language. In order to allow easy integration of XML documents with varied structures, SQL4X uses flexible semantics when querying XML. SQL4X is also a powerful query language. It can express quantification, negation, aggregation, grouping and path expressions.Datalog4x and Tree-Datalog4x, extensions of Datalog, are defined as elegant abstract models for SQL4X queries. Query containment is characterized for many common classes of SQL4X queries. Specifically, for Datalog4x queries, a complete characterization of containment of conjunctive queries and of unions of queries is presented. Equivalence of Datalog4x queries under bag-set semantics is also characterized. A sufficient condition for containment of Tree-Datalog4x queries is presented. This condition is shown to be complete for a large class of common queries.

[1]  Werner Nutt,et al.  Rewriting aggregate queries using views , 1999, PODS.

[2]  Werner Nutt,et al.  Deciding equivalences among aggregate queries , 1998, PODS '98.

[3]  Ashok K. Chandra,et al.  Optimal implementation of conjunctive queries in relational data bases , 1977, STOC '77.

[4]  Raghu Ramakrishnan,et al.  Containment of conjunctive queries: beyond relations as sets , 1995, TODS.

[5]  Yehoshua Sagiv,et al.  Flexible queries over semistructured data , 2001, PODS '01.

[6]  Alfred V. Aho,et al.  Efficient optimization of a class of relational expressions , 1979, TODS.

[7]  Kyuseok Shim,et al.  Optimizing queries with materialized views , 1995, Proceedings of the Eleventh International Conference on Data Engineering.

[8]  Diego Calvanese,et al.  Answering regular path queries using views , 2000, Proceedings of 16th International Conference on Data Engineering (Cat. No.00CB37073).

[9]  David Schach,et al.  XML Query Language (XQL) , 1998, QL.

[10]  Dan Suciu,et al.  SilkRoute: trading between relations and XML , 2000, Comput. Networks.

[11]  Mary Fernandez XML Query Languages: Experiences and Exemplars , 2001 .

[12]  Alon Y. Halevy,et al.  Equivalence, query-reachability and satisfiability in Datalog extensions , 1993, PODS '93.

[13]  Roy Goldman,et al.  From semistructured data to XML , 2000 .

[14]  Roy Goldman,et al.  From Semistructured Data to XML: Migrating the Lore Data Model and Query Language , 1999, Markup Lang..

[15]  Alin Deutsch,et al.  A Query Language for XML , 1999, Comput. Networks.

[16]  Diego Calvanese,et al.  Rewriting of regular expressions and regular path queries , 1999, PODS '99.

[17]  Dan Suciu,et al.  Query containment for conjunctive queries with regular expressions , 1998, PODS.

[18]  David S. Johnson,et al.  Optimizing Conjunctive Queries that Contain Untyped Variables , 1983, SIAM J. Comput..

[19]  Surajit Chaudhuri,et al.  Optimization of real conjunctive queries , 1993, PODS '93.

[20]  Laks V. S. Lakshmanan,et al.  On the Difference between Navigating Semi-structured Data and Querying It , 1999, DBPL.

[21]  Alin Deutsch,et al.  XML-QL: A Query Language for XML , 1998 .

[22]  Steven J. DeRose,et al.  Xml pointer language (xpointer) , 1998 .

[23]  Jennifer Widom,et al.  The Lorel query language for semistructured data , 1997, International Journal on Digital Libraries.