************************************************************* *** *** *** ReadMe.txt *** *** *** *** Rainbow Core V 1.0 *** *** *** *** RAINBOW GROUP MEMEBERS: (Ordered by last name) *** *** Steffen Christ *** *** Katica Dimitrova *** *** Luping Ding *** *** Michal A. Dobosz *** *** Maged El-Sayed *** *** Geoff Greene *** *** Huzefa Hakimi *** *** Justin Lutz *** *** Guy D. Mann *** *** Mukesh Mulchandani *** *** Brian Murphy *** *** Bradford Pielech *** *** Alex Proschitsky *** *** Ling Wang *** *** Song Wang *** *** Xin Zhang *** *** *** *** ADVISOR: *** *** Elke A. Rundensteiner *** *** *** *** DSRG Labs *** *** Computer Science Department *** *** Worcester Polytechnic Institute *** *** 100 Institute road *** *** Worcester, MA 01609 *** *** U.S.A *** *** *** *** http://davis.wpi.edu/dsrg/rainbow/index.htm *** *** *** *** This file last updated: 2003-08-11 *** *** *** ************************************************************* Prerequisites: ------------- Rainbow Core v1.0 requires a Java Virtual Machine version 1.3 or later installed. It is tested with JVM version 1.3.1. It is tested on a Windows 2000 and Windows XP system, but should also run on Windows 9X, ME, NT, it was also tested on a Linux and it could also run on other systems, because it is a pure Java implementation. Installation: ------------ There is no installation required, simply unzip the files into a directory. Be sure that a JVM is in your path environment. In the "RainbowCore" subdirectory you can find example queries that can be used for testing. Rainbow Core can run in either command line mode or in GUI mode, See the following two sections for instructions. Running Rainbow Core in GUI mode: -------------------------------- Launch the GUI by running the "startGUI.bat"(on Windows) or "startGUI.sh"(on Unix) in the installation directory. Note that the running Rainbow Core in GUI mode is much slower that running the command line mode, so use the GUI mode only if you want to see the generated algebra trees that will be hard to view in the command line mode. Here is how to use the GUI: * Choose XQuery Execution * Click on the set XQuery Files button, the XQuery file Selector Window will appear * Press the "User Query" Button and select a query to run, then press the OK button * Press the Run Demo button * The GUI will show the Query in the "View Document" tab * Press the "Generate XAT" tab to generate the XAT algebr tree. * Press the "Decorrelate" tab to perform the decorrelation on the algebra tree * Press the "Rewrite" tab to apply the rewrite rules on the algbra tree. The rewrite rules applied here are: Computation Pushdown, Rename Propagation, Cancel Duplicate Navigates, Merge Taggers, and NavTag Cacelout. * Press the "Compute Schema" tab to compute the minimum schema * Press the "Execute Query" tab to display the final XAT algebra tree and invoke the algebra tree execution. * You can see query intermediate result by clicking on any node in the XAT tree. A window will open that will show the input and output XAT tables of that node. Note the if the node has more than one input XAT table we only show the left most input XAT table. Running Rainbow Core in command Line mode: ------------------------------------------ Launch the command line version of Rainbow Core by running the "console.bat"(on Windows) or "console.sh"(on Unix) in the installation directory. If you add the argument "--help", you get a description of how to use it. Limitations and Known issues: ---------------------------- Rainbow Core engine V1.0 supports XQuery (see the XQuery standard section), particularly FLWR expressions with some limitations such as: * User-defined functions are not supported. * If-then-else is not supported * We support only the following XPath axis: child, "//" and "*". See "Included testing XQueries" setion for supported XQueries Included testing XQueries: --------------------- We include with this release 67 different XQuery FLWR expressions with which you can test the RainbowCore engine. These queries can be found in the following subdirectories: RainbowCore/Xopt/ 17 Queries RainbowCore/Xmark 14 Queries RainbowCore/widm/ 7 Queries RainbowCore/Kweelt/XMP/ 7 Queries RainbowCore/Kweelt/TREE/ 2 Queries RainbowCore/Kweelt/SEQ/ 2 Queries RainbowCore/Kweelt/R/ 18 Queries Documentation: ------------- In the documentation folder you can find a javadoc documentation for the API, a list of FAQs including HOWTOs and a partly outdated documentation of supported built-in functions including examples. But altogether documentation is not totally complete in this version, therefore it is a good idea to use the mailing list of Rainbow Core (rainbow@wpi.edu), if you need any help. XQuery standard: ----------------- This version of Rainbow Core engine is based on the following working drafts: - XQuery 1.0: An XML Query Language (2003-05-02) - XQuery 1.0 and XPath 2.0 Data Model (2003-05-02) - XQuery 1.0 and XPath 2.0 Functions and Operators (2003-05-02) - XQuery 1.0 and XPath 2.0 Formal Semantics (2003-05-02) Contact: ------- If you have questions, problems or want to report a bug then refere to our web site (http://davis.wpi.edu/dsrg/rainbow/index.htm) or contact rainbow mailing list at rainbow@wpi.edu. Legal information: ----------------- Note: This product includes software developed by Kweelt.