|
Database
Systems: Advanced Topics and Implementation
|
. |
Mon |
Tue |
Wed |
Thu |
Fri |
Lecture |
|
9:00-9:50 pm |
|
9:00-9:50 pm |
|
Instructor
Office Hours |
10:00
- 11:00 am CSE 3238 |
||||
TA Office Hours |
4:00-5:00pm CSE B270A |
You may team up with (at most) one partner for the class projects. Use the Piazza forum to advertise if you are looking for a partner.
Our
class project is the construction of an XQuery
processor. We consider a subset/modification of XML’s
data model, XQuery, and XQuery’s type system as
described in this
note. The processor receives an XQuery, parses it
into an abstract tree representation, optimizes it and
finally executes the optimized plan.
To access XML files you can use the standard DOM
interface. There are a
number of XML DOM parser implementations.
The Java distribution includes one (see documentation here).
As an alternative, the Xerces-J project from Apache is
quite mature and stable.
The
W3C specification of DOM is here.
Test cases for project Phase I. For the data,
download Shakespeare's play, Julius Caesar, in XML
form (the associated DTD is here).
Queries can be found here.
The
project constitutes 80% of the final grade; final constitutes 15%; class/Piazza participation constitute 5%.
Formal XPath Semantics note
A brief informal XQuery tutorial (much briefer and more readable than the W3C standard below)
Textbook material (from the warmly recommended textbook "Web Data Management"):
The complete XQuery and XML Schema documentation (the
WWW Consortium standards):