xml query language project dennis petesch mentors and affiliations: lola olsen & gcmd
TRANSCRIPT
XML Query Language Project
Dennis Petesch
Mentors and Affiliations: Lola Olsen & GCMD
What is GCMD?
Global Change Master DirectorySponsored by NasaAccessed OnlineContains Data Sets and PortalsLearning PageHas Docbuilder which aids in submitting
information to the GCMD.
Division of Time
Participating in a user testing survey for the Global Change Master Directory website (www.gcmd.nasa.gov). provided insightful knowledge about the website, which
would help future viewers better understand how to use and navigate throughout the site.
Remaining Time was spent on:
* Researching XML Databases * Developing a Java program * Testing * Documentation
Goal
Provide support by implementing a Java-based parser that will query the GCMD Database using XML XPath expressions (Standardized XML based query language) instead of the current in-house query language.
Research Questions XPath? The primary purpose of XPath is to address
certain criteria of an XML document through the hierarchal navigation of an XML document.
Will XPath be sufficient in filtering XML Metadata? Can I use XPath to exactly pinpoint certain information?
Approach
• Practice XML and Java
• Research XPath functionality
• Research Database functionality
• Testing XPath expressions• Black box testing• Open Source XML database from eXist, Xindice
<?xml version="1.0" encoding="ISO8859-1" ?> <DIF>
<Parameters> <Topic>ATMOSPHERE</Topic> <Term>ATMOSPHERIC PHENOMENA</Term> <Variable>STORMS</Variable></Parameters><Parameters> <Topic>ATMOSPHERE</Topic> <Term>ATMOSPHERIC ANOMOLIES</Term> <Variable>HURRICANES</Variable></Parameters></DIF>
XML EXAMPLE
GCMD Query Language
[Location:Location_Name=‘NORTH AMERICA’] OR
([Source_Name:Short_Name=‘LANDSAT’] AND
[Project:Short_Name=‘DODS’])
Grouping ()’s
[Location:Location_Name=‘NORTH AMERICA’] AND [Source_Name:Short_Name=‘LANDSAT’]
Boolean Queries
[Entry_ID=‘ZZZ415’]
Simple Queries
/DIFS/DIF[Entry_ID/text()=‘ds018.0’][Entry_ID=‘ds018.0’]
XPathGCMD Query Language
EXAMPLE
/DIFS/DIF[Location/Location_Name/
text()=‘NORTHERN HEMISPHERE’ and Data_Set_Language/text()=‘English’]
[Location:Location_Name=
‘NORTHERN HEMISPHERE’ ] AND [Data_Set_Language=‘English’]
XPathGCMD Query Language
Grouping()
Boolean
Database Comparison
Exist Open Source Written in Java Makes use of GUI Supports XPath &
XQuery 2^31 small documents Minimal command line
documentation
XINDICE Open Source Written in Java Makes use of GUI Does not support
XQuery Many small
documents Maintained by Apache
Results
• Xindice XML database fit requirements, plus it made easier use of the command line.
• Use a soap interface to interact with the user. The soap interface would tell the XML database what to search for, and then the formatted results would be displayed to the user on a web page.
Visualization
Summary
Review XML and JavaResearch XPathDevelop test dataBlack box testing on open source
databasesDevelop Java code to interact with
Database
Questions