Ace-XQ II: An XQuery caching system

Ace-XQ is a web-based XML query engine. XML is a new language for the web that allows data to be stored in a specified format in a regular text file. This allows it to be queried much more efficiently than a regular HTML document. The Ace-XQ system not only allows users to query XML documents, but it stores the results from these queries in its cache and uses them to answer future queries. This query caching process allows many queries to be answered much faster than they would be normally since the query engine can retrieve many of the results from its cache rather than having to access the data across the network as in a typical search engine. (To be modified ... )

MQP Homepage Associated with the MQP Project (2001/2002)

Additional Resources

- Introduction of an XML Query language called Quilt, on which XQuery is based. Quilt is very similar to XQuery.

- To compare with Quilt, here is XQuery proposal.

- Again, this demo site is strongly recommended! You can get yourselves familar with XQuery by clicking the links to see various kinds of query examples.

- More lectures on XQuery, for example, if you are curious about the differences between the For and Let clauses.

- XPath expressions are heavily used in XML query languages, this lecture teaches you about their relationships.

- The first paper about "semantic cache", worthy to read.

- XQuery: A typed language for XML. A little bit knowledge about typing in XML, will be needed for problem understanding and system implementation.

- XDuce: A XML typing system.

- More about typing...

- Ace-XQ was once called KapQuilt, here is the system design for the previous version. It might be helpful if you take a peek.

- An Xquery evaluation engine called Quip, which is an open source project. You can install and play with it to be more an expert in XQuery.

- My dissertation proposal...

Kweelt Installation Guide

The Kweelt Engine developed by UPenn can be downloaded from their home page. Or, a simple way is to download all the jar files (zipped) from here.
Here is the instruction to get it work.

  • suppose you are using unix for this purpose. you download the zipped jar file kweeltincluds.tgz, type "tar xvfz kweeltincluds.tgz" to unzip it under a directory, say /home/your_username/lib/. You can see 9 .jar files: rt.jar, dtdparser113.jar, kweelt_2000-09-27.jar, jakarta-regexp-1.1.jar, xerces.jar, xmlparserv2.jar, aelfred.jar, cocoon.jar, servlet.jar. Set up the CLASSPATH to include them all. For example, you can download this file, make some changes about the path and add a line into your ~/.tcshrc file.
  • then you should download some example Quilt queries from here, type "gunzip use-cases.tar.gz" and then "tar xvf use-cases.tar" to unzip it. You can see some typical Quilt queries are located under ./ExampleQuilt/XMP
  • to test out queries, type "java -classpath $CLASSPATH xacute.quilt.Main your_query", for example, your_query can be ./ExampleQuilt/XMP/Q1.qlt