m eta xpath
DESCRIPTION
M ETA XPath. Curtis Dyreson E.E. and Computer Science Washington State University USA. Michael Böhlen and Christian S. Jensen Computer Science Aalborg University Denmark. Nykredit Center for Database Research Aalborg University, Denmark. Outline. Data Data model XML - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: M ETA XPath](https://reader035.vdocument.in/reader035/viewer/2022062800/568141ec550346895dadce2b/html5/thumbnails/1.jpg)
DC2001 Conference - Toyko
METAXPath
Curtis DyresonE.E. and Computer Science Washington State University
USA
Michael Böhlenand
Christian S. JensenComputer ScienceAalborg University
Denmark
Nykredit Center for Database ResearchAalborg University, Denmark
![Page 2: M ETA XPath](https://reader035.vdocument.in/reader035/viewer/2022062800/568141ec550346895dadce2b/html5/thumbnails/2.jpg)
DC2001 Conference - Toyko
Outline
• Data Data model
XML Query language
XPath
• Metadata METAXPath
• Future work
![Page 3: M ETA XPath](https://reader035.vdocument.in/reader035/viewer/2022062800/568141ec550346895dadce2b/html5/thumbnails/3.jpg)
DC2001 Conference - Toyko
An XML Database Architecture
XML data and metadata
Database
Client(HTTP browser)
HTTP server
![Page 4: M ETA XPath](https://reader035.vdocument.in/reader035/viewer/2022062800/568141ec550346895dadce2b/html5/thumbnails/4.jpg)
DC2001 Conference - Toyko
Database Data Model Evolution60s - Hierarchical data model
70s - Network data model
80s - Relational data model
90s - Object-oriented data model
00s - Unstructured/semistructured/XML Innovators
Unstructured data models (UPenn) UnQL/Strudel (AT&T) OEM and Lore (Stanford) XML (W3C)
![Page 5: M ETA XPath](https://reader035.vdocument.in/reader035/viewer/2022062800/568141ec550346895dadce2b/html5/thumbnails/5.jpg)
DC2001 Conference - Toyko
Object Exchange Model (OEM)• Heterogeneous OODBs
Exchange objects Text description
text (XML)
object 1
object 1
my database your database
object 2
![Page 6: M ETA XPath](https://reader035.vdocument.in/reader035/viewer/2022062800/568141ec550346895dadce2b/html5/thumbnails/6.jpg)
DC2001 Conference - Toyko
<person id=&1 name=“Joe Doe” age=“25” />
<person id=&1> <name>Joe Doe</name> <age>25</age> </person>
Object Representation in XML• Use names and values• Ignore types• &X denotes object X
// A person classclass Person { String name; int age; }
// A person objectPerson joe = new Person(‘Joe Doe’, 25);
<!ATTLIST person id ID #REQUIRED><!ELEMENT person (name age)>
![Page 7: M ETA XPath](https://reader035.vdocument.in/reader035/viewer/2022062800/568141ec550346895dadce2b/html5/thumbnails/7.jpg)
DC2001 Conference - Toyko
XML (XPath) Data Model• Each element or attribute is a node
• Edges indicate nesting
• Nodes contain information
• Tree is ordered
age
element
person
element
name=“Joe”
attribute
id=“&1”
attribute
/n
text
25
text
/n
text
root
XML
<person id=&1 name=“Joe”> <age>25</age> </person>
XPath
![Page 8: M ETA XPath](https://reader035.vdocument.in/reader035/viewer/2022062800/568141ec550346895dadce2b/html5/thumbnails/8.jpg)
DC2001 Conference - Toyko
Semistructured Data Model• Each element or attribute is a node• Edges indicate nesting• Edges are labeled
Joe25
XML Semistructured
&1
person
nameage
<person id=&1 name=“Joe”> <age>25</age> </person>
![Page 9: M ETA XPath](https://reader035.vdocument.in/reader035/viewer/2022062800/568141ec550346895dadce2b/html5/thumbnails/9.jpg)
DC2001 Conference - Toyko
Data Models Compared• Insensitive to
text order, whitespace attributes vs. elements
• Directed graph (many roots, can contain cycles)
• Captures text order, whitespace, attributes and elements
• A tree (single root, no cycles)
age
element
person
element
name=“Joe”
attribute
id=“&1”
attribute
/n
text
25
text
/n
text
root
Joe25Semistructured
&1
person
nameage
XPath
![Page 10: M ETA XPath](https://reader035.vdocument.in/reader035/viewer/2022062800/568141ec550346895dadce2b/html5/thumbnails/10.jpg)
DC2001 Conference - Toyko
Outline
• Data Data model
XML Query language
XPath
• Metadata XML - METAXPath
• Future work
![Page 11: M ETA XPath](https://reader035.vdocument.in/reader035/viewer/2022062800/568141ec550346895dadce2b/html5/thumbnails/11.jpg)
DC2001 Conference - Toyko
XPath
• W3C Recommendation – 1999 Used in XQuery, XSLT, and XPointer Language for selecting locations in an XML document
• Query Sequence of location steps separated by ‘/’ Location step
axis::node_test [predicate1]…[predicateN]
Evaluated with respect to a context node Results in a node-set (actually a list of nodes!) Step continues from nodes reached in previous step
![Page 12: M ETA XPath](https://reader035.vdocument.in/reader035/viewer/2022062800/568141ec550346895dadce2b/html5/thumbnails/12.jpg)
DC2001 Conference - Toyko
Descendent Axis Example
name
element
person
element
dateOfBirth
element
last
elementmonth
element
year
element
Susan
text
Douglas
text
January
text
1981
text
This…
comment
root
initial=“S”
attribute
SSN=“99…”
attribute
first
element
![Page 13: M ETA XPath](https://reader035.vdocument.in/reader035/viewer/2022062800/568141ec550346895dadce2b/html5/thumbnails/13.jpg)
DC2001 Conference - Toyko
• Ancestor, descendent, following, preceding, and self partition a tree.
Axes that Partition a Tree
preceding followingdescendent
ancestor
self
![Page 14: M ETA XPath](https://reader035.vdocument.in/reader035/viewer/2022062800/568141ec550346895dadce2b/html5/thumbnails/14.jpg)
DC2001 Conference - Toyko
XPath Node Test and Predicates
• Each node in result-set must pass node test Is this an element node named person?
person Is this an element node?
*
• Predicates are further tests (about other nodes) Does node have a ssn attribute?
[attribute::ssn]
![Page 15: M ETA XPath](https://reader035.vdocument.in/reader035/viewer/2022062800/568141ec550346895dadce2b/html5/thumbnails/15.jpg)
DC2001 Conference - Toyko
Example /child::person/child::*/child::last
name
element
person
element
dateOfBirth
element
last
elementmonth
element
year
element
Susan
text
Douglas
text
January
text
1981
text
This…
comment
root
initial=“S”
attribute
SSN=“99…”
attribute
first
element
root
person
element
name
element
This…
comment
dateOfBirth
element
last
element
last
element
![Page 16: M ETA XPath](https://reader035.vdocument.in/reader035/viewer/2022062800/568141ec550346895dadce2b/html5/thumbnails/16.jpg)
DC2001 Conference - Toyko
XPath Examples
• The dateOfBirth children of person nodes
/descendent::person/child::dateOfBirth
• The last text node
/descendent::text()[position()=last()]
![Page 17: M ETA XPath](https://reader035.vdocument.in/reader035/viewer/2022062800/568141ec550346895dadce2b/html5/thumbnails/17.jpg)
DC2001 Conference - Toyko
Abbreviated Syntax
• Think of file path specifications in Unix• Year child of dateOfBirth
child::dateOfBirth/child::year
dateOfBirth/year
• name siblings
parent::*/child::name
../name
• All year nodes
/descendent-or-self::*/child::year
//year
![Page 18: M ETA XPath](https://reader035.vdocument.in/reader035/viewer/2022062800/568141ec550346895dadce2b/html5/thumbnails/18.jpg)
DC2001 Conference - Toyko
Outline
• Data Data model
XML Query language
XPath
• Metadata XML - METAXPath
• Future work
![Page 19: M ETA XPath](https://reader035.vdocument.in/reader035/viewer/2022062800/568141ec550346895dadce2b/html5/thumbnails/19.jpg)
DC2001 Conference - Toyko
Metadata
• Database metadata Schema, security, transaction time (versions)
• Web metadata Author, language, subject, privacy
• Web metadata recommendations RDF, RDD, P3P
• Features Descriptive, but also exclusionary Irregular Multiple Ad-hoc
![Page 20: M ETA XPath](https://reader035.vdocument.in/reader035/viewer/2022062800/568141ec550346895dadce2b/html5/thumbnails/20.jpg)
DC2001 Conference - Toyko
A Movie Database
• Movie data Bruce Willis stars in Colour of Night. Colour of Night premiered 1/Jul/1995.
• Publication meta-data language English
URL http://www.auc.dk
publication date 2/Apr/1997
privacy/security ‘over 18’
publication history v1.2, modified 31/Jul/1998
subject Film, Suspense, Thriller
namespace http://www.auc.dk/movieDataDTD.xml
![Page 21: M ETA XPath](https://reader035.vdocument.in/reader035/viewer/2022062800/568141ec550346895dadce2b/html5/thumbnails/21.jpg)
DC2001 Conference - Toyko
Movie Database Queries
• Metadata only Retrieve information published at Danish web sites.
• Metadata compared to data Find reviews published in the first week of the movie’s release.
• Metadata and data, but independent Get suspense films starring Bruce Willis.
![Page 22: M ETA XPath](https://reader035.vdocument.in/reader035/viewer/2022062800/568141ec550346895dadce2b/html5/thumbnails/22.jpg)
DC2001 Conference - Toyko
Properties of a Metadata Data Model
• Goal: Same query language for data and metadata User learns “one” language Compiler/optimization reuse
• Challenges: Data and metadata in different dataspaces Query on data should not accidently query metadata Meta-metadata
Metadata for metadata Metadata has semantics Data with/without metadata
![Page 23: M ETA XPath](https://reader035.vdocument.in/reader035/viewer/2022062800/568141ec550346895dadce2b/html5/thumbnails/23.jpg)
DC2001 Conference - Toyko
METAXPath Data Model
• Data model Reuse XPath data model Meta attribute points to metadata tree “Right angle” data model
• Features Minimal extension of XPath Backwards-compatible
![Page 24: M ETA XPath](https://reader035.vdocument.in/reader035/viewer/2022062800/568141ec550346895dadce2b/html5/thumbnails/24.jpg)
DC2001 Conference - Toyko
Example
• Data<?xml version="1.0">
<person ssn="234">
<name>Ichiro</name>
</person>
• URL metadata<source URL=“www.wsu.edu/p.htm”>
• Language metadata of person element<language>English</language>
• Author meta-metadata - language metadata author<author name="Suzuki"/>
![Page 25: M ETA XPath](https://reader035.vdocument.in/reader035/viewer/2022062800/568141ec550346895dadce2b/html5/thumbnails/25.jpg)
Type element
Value person
Attributes {(ssn, 223)}
Type element
Value name
Attributes {}
Type text
Value Ichiro
Type root
Type text
Value \n
Type text
Value \n\t
<?xml version="1.0"><person ssn="234"> <name>Ichiro</name></person>
![Page 26: M ETA XPath](https://reader035.vdocument.in/reader035/viewer/2022062800/568141ec550346895dadce2b/html5/thumbnails/26.jpg)
Type element
Value name
Attributes {}
Type text
Value \n
Type text
Value \n\t
Type element
Value person
Attributes {(ssn, 223)}
Type text
Value Ichiro
Type root
Meta
Type element
Value source
Attributes {(URL, www.wsu.edu/p.htm)}
Type root
<source URL=“www.wsu.edu/p.htm”>
![Page 27: M ETA XPath](https://reader035.vdocument.in/reader035/viewer/2022062800/568141ec550346895dadce2b/html5/thumbnails/27.jpg)
Type element
Value name
Attributes {}
Type text
Value \n
Type text
Value \n\t
Type element
Value person
Attributes {(ssn, 223)}
Meta
Type element
Value language
Attributes {}
Type text
Value English
Type text
Value Ichiro
Type root
Meta
Type element
Value source
Attributes {(URL, www.wsu.edu/p.htm)}
Type root
Type root
<language>English</language>
![Page 28: M ETA XPath](https://reader035.vdocument.in/reader035/viewer/2022062800/568141ec550346895dadce2b/html5/thumbnails/28.jpg)
Type element
Value name
Attributes {}
Type text
Value \n
Type text
Value \n\t
Type element
Value person
Attributes {(ssn, 223)}
Meta
Type element
Value language
Attributes {}
Type text
Value English
Type text
Value Ichiro
Type root
Meta
Type element
Value source
Attributes {(URL, www.wsu.edu/p.htm)}
Type root
Type root
Meta Type root
Type element
Value author
Attributes {(name, Suzuki)}
<author name="Suzuki"/>
![Page 29: M ETA XPath](https://reader035.vdocument.in/reader035/viewer/2022062800/568141ec550346895dadce2b/html5/thumbnails/29.jpg)
DC2001 Conference - Toyko
Sharing and Excluding Metadata
• Meta property points to metadata for a node Shared pointers ==> shared metadata
• To share with child Copy pointer
• To exclude from child Duplicate excluded portion Copy remaining shared pointers
![Page 30: M ETA XPath](https://reader035.vdocument.in/reader035/viewer/2022062800/568141ec550346895dadce2b/html5/thumbnails/30.jpg)
Type text
Value Ichiro
Meta
Type element
Value person
Attributes {(ssn, 223)}
Meta
Type text
Value English
Meta
Type root
Meta
Type element
Value source
Attributes {(URL, www.wsu.edu/p.htm)}
Type root
Type root
Meta
Type text
Value \n\t
Meta
Type element
Value name
Attributes {}
Meta
Type text
Value \n
Meta
Type root
Type element
Value language
Attributes {}
Meta
Type element
Value author
Attributes {(name, Suzuki)}
Share metadata with descendents
![Page 31: M ETA XPath](https://reader035.vdocument.in/reader035/viewer/2022062800/568141ec550346895dadce2b/html5/thumbnails/31.jpg)
Type element
Value person
Attributes {(ssn, 223)}
Meta
Type root
Meta
Type element
Value source
Attributes {(URL, www.wsu.edu/p.htm)}
Type root
Type root
Meta
Type text
Value \n\t
Meta
Type element
Value name
Attributes {}
Meta
Type text
Value \n
Meta
Type root
Type root
Meta
Type text
Value English
Meta
Type element
Value language
Attributes {}
Meta
Type element
Value author
Attributes {(name, Suzuki)}
Type text
Value Ichiro
Meta
Ichiro text not
authored by
Suzuki
![Page 32: M ETA XPath](https://reader035.vdocument.in/reader035/viewer/2022062800/568141ec550346895dadce2b/html5/thumbnails/32.jpg)
DC2001 Conference - Toyko
METAXPath Queries
• XPath plus level shift operation meta axis ^ in abbreviated syntax
• Example - Locate data nodes with URL metadata of p.htm /descendent-or-self::*
[meta::*/child::source[attribute::URL="p.htm"]] In abbreviated syntax
//*[^source[@URL="p.htm"]]
• Example - Locate the URL metadata //*^source/@URL
• Example - Locate data that has metadata authored by Suzuki (meta-metadata)//*[^//*^author[@name="Suzuki"]]
![Page 33: M ETA XPath](https://reader035.vdocument.in/reader035/viewer/2022062800/568141ec550346895dadce2b/html5/thumbnails/33.jpg)
DC2001 Conference - Toyko
Outline
• Data Data model
XML Query language
XPath
• Metadata XML - METAXPath
• Future work
![Page 34: M ETA XPath](https://reader035.vdocument.in/reader035/viewer/2022062800/568141ec550346895dadce2b/html5/thumbnails/34.jpg)
DC2001 Conference - Toyko
Metadata Semantics
• Transaction time example
Color of Night
&2
&3
Colour of Night
name: title
trans. time: [1/Aug/1998 - uc]
&1
name: reviewed
trans. time: [1/Sep/1999 - uc]
name: movie
name: title
trans. time: [2/Apr/1997 - 31/Jul/1998]
&1
&2
&3
Not a path!
![Page 35: M ETA XPath](https://reader035.vdocument.in/reader035/viewer/2022062800/568141ec550346895dadce2b/html5/thumbnails/35.jpg)
DC2001 Conference - Toyko
AUCQL Collapse Example
• PropertyCollapse for name is concatenation, for trans. time it is temporal intersection.
Color of Night
&1
Colour of Night
name: reviewed
trans. time: [1/Sep/1999 - uc]
&2
&3
name: title
trans. time: [2/Apr/1997 - 31/Jul/1998]
name: title
trans. time: [1/Aug/1998 - uc]
name: movie
name: reviewed.movie.title
trans. time: [1/Sep/1999 - uc]
name: reviewed.movie.title
trans. time: undefined
![Page 36: M ETA XPath](https://reader035.vdocument.in/reader035/viewer/2022062800/568141ec550346895dadce2b/html5/thumbnails/36.jpg)
DC2001 Conference - Toyko
AUCQL Additional Operations
• Coalesce - compute a distributed property value
&1
&2
name: review
security! developer
trans. time: [1/Jul/1999 - 15/Jul/1999]
name: review
security! subscriber
trans. time: [16/Jul/1999 - uc]
trans. time: [1/Jul/1999 - uc]
![Page 37: M ETA XPath](https://reader035.vdocument.in/reader035/viewer/2022062800/568141ec550346895dadce2b/html5/thumbnails/37.jpg)
DC2001 Conference - Toyko
Thin Layer Impementation
METAXPath query
METAXPath CompilerMetadata
encoding
DB
XPath Compiler
XPath query
result
![Page 38: M ETA XPath](https://reader035.vdocument.in/reader035/viewer/2022062800/568141ec550346895dadce2b/html5/thumbnails/38.jpg)
DC2001 Conference - Toyko
Prototype Implementation
METAXPath query
METAXPath Compiler
DBM
Query Evaluation Engine
Evaluation Tree
result
Database API
Perl
Perl
XML
Parser
XML
RDF
Indexing
![Page 39: M ETA XPath](https://reader035.vdocument.in/reader035/viewer/2022062800/568141ec550346895dadce2b/html5/thumbnails/39.jpg)
DC2001 Conference - Toyko
Summary
• METAXPath website http://www.eecs.wsu.edu/~cdyreson/pub/MetaXPath
• AUCQL website VLDB ‘99 Implemented research prototype Free, downloadable, Unix environment http://www.eecs.wsu.edu/~cdyreson/pub/AUCQL Interactive query engine Tutorials