The course project is due Tuesday, March 6. The project will be completed in groups, and a written proposal will be due by each group on Thursday of the third week. Some possible project ideas are described below. Original ideas are welcome, but should be approved by the instructor before the proposal deadline.
This problem remains unsolved today. Readings on related topics are:
Related reading: Peter T. Wood, in Dood 2000,On the Equivalence of XML Patterns.
Some readings on query pruning:
There are three main publications on this topic:
XML is processed recursively with XSLT, essentially a language for defining
recursive functions. But recursive tree traversals are inefficient to
implement and impossible to optimize. Bulk processing of such
transformations recognizes some restricted forms for recursive processing that
can be implemented with standard relational operators. Define a fragment of
XSLT that can be processed in bulk, and implement a translator from that
fragment to SQL. There is some relevant literature that needs to be digested
for this project.
The only reading here is a bulky journal paper (http://link.springer-ny.com/link/service/journals/00778/bibs/0009001/00090076.htm).
Come to my office, and I can explain you in a few minutes what is going on. It
is not trivial: but it is exciting and highly relevant.
Processing ordered collections in SQL
SQL processes only
unordered collections (bags). XML query languages on the other hand must
consider ordered collections, since XML is an ordered data model. Can
operations on ordered collections be implemented efficiently in SQL ? In this
project you are required to design a suite of techniques for processing
ordered collections in SQL, and implement a translator from a query language
on ordered collections into SQL, implementing those techniques. As starting
point, represent an ordered collection by adding an extra integer field that
stores the "index" of each tuple in the collection.