460 likes | 563 Views
XGI: A Graphic Interface for XQuery Creation and XML Schema Visualization. Xiang Li University of Washington Biomedical and Health Informatics Master Thesis Committee: James Brinkley, John Gennari. Outline. Needs for graphically querying XML Existing graphical query solutions
E N D
XGI: A Graphic Interface for XQuery Creation and XML Schema Visualization Xiang Li University of Washington Biomedical and Health Informatics Master Thesis Committee: James Brinkley, John Gennari
Outline • Needs for graphically querying XML • Existing graphical query solutions • Requirements for a successful system • My approach and XQuery Graphic Interface (XGI) system overview • Using XGI to build a XQuery • System validation and evaluation • Discussion and conclusions
Outline • Needs for graphically querying XML • Existing graphical query solutions • Requirements for a successful system • My approach and the XQuery Graphic Interface (XGI) system overview • Using XGI to build a XQuery • System validation and evaluation • Discussion and conclusions
XML and XQuery • XML • De facto standard language for data exchange and representation in biomedical research • Semistructured data model • Wide-spread adoption and many data sources in XML format • XQuery • W3C-candidate, textual XML querying language • Turing-complete and well-supported • Required programmatic skill similar to SQL
Examples XQuery expression XML source document
Motivations for a graphic query system • Creating XQuery is difficult • Unfamiliar XQuery syntax and semantics • Need explicit knowledge of the source data schema • Goals: • Implement the Query-By-Example (QBE) paradigm • Simplify query construction for novice users • Expedite query generation process for expert users • Balance between usability and expressivity
Outline • Needs for graphically querying XML • Existing graphical query solutions • Requirements for a successful system • My approach and the XQuery Graphic Interface (XGI) system overview • Using XGI to build a XQuery • System validation and evaluation • Discussion and conclusions
Design approaches Structured query approach Graphical interface is simple Query process is quick and uncomplicated Output format is pre-determined Users are not exposed to the underlying querying language Unstructured query approach Arbitrarily construct the output format Able to generate more expressive XQuery statements Complex query interface
Existing systems • Structured query approach • QSByE • QURSED • XBrain • Unstructured query approach • BBQ • XQBE • Stylus Studio
Existing systems • Structured query approach • QSByE • QURSED • XBrain • Unstructured query approach • BBQ • XQBE • Stylus Studio
QURSED • Query and Reporting Semistructured Data • Developers create XML-querying forms for end-users Displays source schema in a tree Web-based query forms Uses output template to define structure End-users cannot modify the query form, the output template, and the generated query Developers have to create the query form and the output template for every single query
XBrain • Distributed query system • Developers create saved queries for end-users to execute Allows users to modify and save custom queries Very simple query interface Novice users need developers to create more complex queries Output format is pre-determined
XQBE • XQuery By Example • Users use the interface define the source and the construct tree Able to generate fairly complex queries Free and still is being supported Accepts multiple source schema formats Requires users to have explicit knowledge of the source data schema Elaborate syntax and semantics
Stylus Studio • Comprehensive XML editing, publishing, and querying tool • Novel query interface design by explicitly constructing XQuery expression Able to create very expressive XQuery statements Displays the source schema as a tree Expensive Not open source or web-based
Outline • Needs for graphically querying XML • Existing graphical query solutions • Requirements for a successful system • My approach and the XQuery Graphic Interface (XGI) system overview • Using XGI to build a XQuery • System validation and evaluation • Discussion and conclusions
System requirements • Reduced cost of implementation • Support for multiple schema formats • Navigable source tree • Powerful XQuery creation • Easy integration with other applications • Support collaboration
Outline • Needs for graphically querying XML • Existing graphical query solutions • Requirements for a successful system • My approach and the XQuery Graphic Interface (XGI) system overview • Using XGI to build a XQuery • System validation and evaluation • Discussion and conclusions
My approach • Reduced cost of implementation • Web-based using Asynchronous JavaScript and XML (AJAX) technology • Shared installation and resources • Support for multiple schema formats • XML Schema, Document Type Data (DTD), and auto-extract schema from XML document • Navigable source tree • Uses hierarchical tree to represent the nested XML source schema
My approach (cont.) • Powerful XQuery creation • Implements a subset of XQuery • Easy integration with other applications • Uses open source toolkits • Implements modular design • Support collaboration • Allows users to save queries with self-explanatory names
System architecture Client Local Filesystem Web Browser Graphic interface scripts Data Model Translation Engine Schemas File Management Schema Preprocessor Schemas Server Filesystem XQuery Generation Engine Data Model Controller Server
XQuery generation engine • Uses an Extended Backus-Naur Form grammar • Retrieve the query schema from the data model controller • Preprocess the schema to fit the grammar • Return the generated query to the query interface
Outline • Needs for graphically querying XML • Existing graphical query solutions • Requirements for a successful system • My approach and XQuery Graphic Interface (XGI) system overview • Using XGI to build a XQuery • System validation and evaluation • Discussion and conclusions
Interface layout Document name panel Toolbar panel Search box Query panel Source panel Saved predicate panel Information panel
Example query 1 CSM database schema
Outline • Needs for graphically querying XML • Existing graphical query solutions • Requirements for a successful system • My approach and XQuery Graphic Interface (XGI) system overview • Using XGI to build a XQuery • System validation and evaluation • Discussion and conclusions
Validation • XGI vs. XQBE • Compare features • Compare capable queries • Recreate queries from XBrain • Language-error queries • Custom saved queries
Recreate queries • Able to generate 13/23 queries capable by XQBE • Generate all language error queries from XBrain • Expert users created custom queries in XBrain • Fully or partially recreate 22/43 • Cannot recreate 21/43
User Evaluation • Only one expert user used the system informally • Installation • Require multiple packages that should be bundled into a deployable archive file • Need to change a few system settings • Certain features could be more easily accessible • Need to support more features • More feedbacks on the limitations of the interface
Discussion • XGI is capable of generating a large subset of XQuery • Limitations: • Does not support functions and some query constructs • Saved queries are constrained by the query schema
Future work • Support more extensive collaboration • Implement more XQuery features • “Let”, “Order by”, etc • XQuery functions and user-defined functions • Improve UI and enable browser compatibility
Conclusion XGI is a simple and effective graphical query tool for assisting both novice and expert users to create complex XQuery statements quickly and accurately.