Title: SPADE
1SPADE
- Searchable Product Archive and Distribution Engine
2 Product Archive Goals
- Provide a searchable and accessible archive for
EarthScope community-generated Data Products - Archive arbitrary XML data products
- Hypocenters, CMTs, PGV maps, fault models, source
models, historical data, - Provide search by product-specific metadata
- Query across products by common fields
- Programmatic and interactive interfaces
3SPADE Overview
SUBMISSION
QUERY
4Query - Select Product
5Query - Enter Filters
6Query - Results
7Query - Common Metadata
8Query - Results
9Issues and Opportunities
- Large XML files
- Binary products
- Product presentation
- Pre-, post-processing
- Intra-product queries
- eg. by common elements
10 Issues and Opportunities
- Query assistance - sample field data
- External resource discovery
- Dynamic products
- Federated SPADE systems
- Component of broader service offering
11SPADE
- Provides a uniform query interface across
different product types - Supports queries by product-specific metadata
- Community products available in a searchable and
accessible archive
12 13Assumptions
- Product documents in XML
- lt100 or so Product Types
- Products are not overly complex
- eg. deeply nested collections, choices, ..
- Users will want to query on product-specific
fields.
14Configuration
15Configuration Files
- Describe the input product documents
- Element name, namespace
- Description
- Database table
- Searchable fields
- Collections (subcomponents)
- Everything necessary to manage the product
16Configuration Files, cont.
- Field definitions
- Field name, namespace
- Field description
- XPath query
- Database column and type
- Can be mapped to system or common fields
- Collection definitions
- are just Item Definitions with an XPath query.
17Configuration Files, example
lt?xml version"1.0" encoding"UTF-8"?gt ltUPDS_Confi
g xmlns"http//www.iris.edu/upds"gt
ltProductDef name"Hypocenter" xmlns"http//www.ir
is.edu/upds" gt ltNamespace
uri"http//www.iris.edu/upds/hypocenter"
prefix"hypo" /gt ltDescriptiongtAn
earthquake hypocenter description.lt/Descriptiongt
ltDbTable name"hypocenter"/gt
ltSystemField name"IRIS_ID" gt ltXPath
query"updsProductID"gt
ltNamespace uri"http//www.iris.edu/upds"
prefix"upds"/gt lt/XPathgt
ltMappedTo fieldName"ProductBase.ProductID"
uri"http//www.iris.edu/upds"/gt
lt/SystemFieldgt ltCommonField
name"Latitude" required"true"gt
ltDescriptiongtHypocenter latitude.lt/Descriptiongt
ltXPath query"hypoLocation/updsLatitud
e"gt ltNamespace uri"http//www.iri
s.edu/upds" prefix"upds"/gt lt/XPathgt
ltMappedTo fieldName"ProductCommon.Lati
tude.Minimum" uri"http//www.iris.edu/upds"/gt
ltMappedTo fieldName"ProductCommon.Latitu
de.Maximum" uri"http//www.iris.edu/upds"/gt
ltDbColumn columnName"lat"
sqlType"DECIMAL(9,5)"/gt lt/CommonFieldgt
18Configuration Files, example
lt?xml version"1.0" encoding"UTF-8"?gt ltUPDS_Confi
g xmlns"http//www.iris.edu/upds"gt
ltProductDef name"Hypocenter" xmlns"http//www.ir
is.edu/upds" gt ltNamespace
uri"http//www.iris.edu/upds/hypocenter"
prefix"hypo" /gt ltDescriptiongtAn
earthquake hypocenter description.lt/Descriptiongt
ltDbTable name"hypocenter"/gt
ltSystemField name"IRIS_ID" gt ltXPath
query"updsProductID"gt
ltNamespace uri"http//www.iris.edu/upds"
prefix"upds"/gt lt/XPathgt
ltMappedTo fieldName"ProductBase.ProductID"
uri"http//www.iris.edu/upds"/gt
lt/SystemFieldgt ltCommonField
name"Latitude" required"true"gt
ltDescriptiongtHypocenter latitude.lt/Descriptiongt
ltXPath query"hypoLocation/updsLatitud
e"gt ltNamespace uri"http//www.iri
s.edu/upds" prefix"upds"/gt lt/XPathgt
ltMappedTo fieldName"ProductCommon.Lati
tude.Minimum" uri"http//www.iris.edu/upds"/gt
ltMappedTo fieldName"ProductCommon.Latitu
de.Maximum" uri"http//www.iris.edu/upds"/gt
ltDbColumn columnName"lat"
sqlType"DECIMAL(9,5)"/gt lt/CommonFieldgt
19Configuration Files, example
lt?xml version"1.0" encoding"UTF-8"?gt ltUPDS_Confi
g xmlns"http//www.iris.edu/upds"gt
ltProductDef name"Hypocenter" xmlns"http//www.ir
is.edu/upds" gt ltNamespace
uri"http//www.iris.edu/upds/hypocenter"
prefix"hypo" /gt ltDescriptiongtAn
earthquake hypocenter description.lt/Descriptiongt
ltDbTable name"hypocenter"/gt
ltSystemField name"IRIS_ID" gt ltXPath
query"updsProductID"gt
ltNamespace uri"http//www.iris.edu/upds"
prefix"upds"/gt lt/XPathgt
ltMappedTo fieldName"ProductBase.ProductID"
uri"http//www.iris.edu/upds"/gt
lt/SystemFieldgt ltCommonField
name"Latitude" required"true"gt
ltDescriptiongtHypocenter latitude.lt/Descriptiongt
ltXPath query"hypoLocation/updsLatitud
e"gt ltNamespace uri"http//www.iri
s.edu/upds" prefix"upds"/gt lt/XPathgt
ltMappedTo fieldName"ProductCommon.Lati
tude.Minimum" uri"http//www.iris.edu/upds"/gt
ltMappedTo fieldName"ProductCommon.Latitu
de.Maximum" uri"http//www.iris.edu/upds"/gt
ltDbColumn columnName"lat"
sqlType"DECIMAL(9,5)"/gt lt/CommonFieldgt
20Config Example, cont.
ltField name"Contributor"gt
ltDescriptiongtHypocenter contributor.lt/Descriptiongt
ltXPath query"hypoContributor"/gt
ltDbColumn columnName"evtContrib"
sqlType"varchar(15)"/gt lt/Fieldgt ltCollectiongt
ltDescriptiongtMagnitude values for this
hypocenter.lt/Descriptiongt ltXPath
query"hypoMagnitude"/gt ltItemDef
name"Magnitude"gt ltDbTable
name"mag"/gt ltField
name"Value"gt
ltDescriptiongtThe magnitude value.lt/Descriptiongt
ltXPath query"_at_value"/gt
ltDbColumn columnName"value"
sqlType"DECIMAL(4,2)"/gt
lt/Fieldgt
21Config Example, cont.
ltField name"Contributor"gt
ltDescriptiongtHypocenter contributor.lt/Descriptiongt
ltXPath query"hypoContributor"/gt
ltDbColumn columnName"evtContrib"
sqlType"varchar(15)"/gt lt/Fieldgt ltCollectiongt
ltDescriptiongtMagnitude values for this
hypocenter.lt/Descriptiongt ltXPath
query"hypoMagnitude"/gt ltItemDef
name"Magnitude"gt ltDbTable
name"mag"/gt ltField
name"Value"gt
ltDescriptiongtThe magnitude value.lt/Descriptiongt
ltXPath query"_at_value"/gt
ltDbColumn columnName"value"
sqlType"DECIMAL(4,2)"/gt
lt/Fieldgt
22Metadata DB
23(No Transcript)