A Multi-Model XML (MMX) Framework for Digital Video Library (DVL) Systems
Download
Report
Transcript A Multi-Model XML (MMX) Framework for Digital Video Library (DVL) Systems
A Multi-Model XML (MMX) Framework
for
Digital Video Library (DVL) Systems
Presented by: Jacky Ma
Date: 11 Dec 2001
Presentation Outline
Introduction
The MMX Framework
Background
An Example
The Problem
Models
Syntax
Behaviors
Conclusion
Contribution
Difficulties
Introduction
Background
Previous Research
Digital Video Library (DVL)
Extensible Markup Language (XML)
Motivation
Facilitate searching in DVL with XML
Search XML in specialized and customizable
way
An XML Example
<key N="7" S="3" E="16" W="1"/>
<node id="1">
<key N="7" S="3" E="6" W="1"/>
<node id="1">
<key N="7" S="5" E="2" W="1"/>
<data x="1" y="5">itemA</data>
<data x="2" y="7">itemB</data>
</node>
<node id="2">
<key N="4" S="3" E="6" W="4"/>
<data x="4" y="3">itemA</data>
<data x="6" y="4">itemC</data>
</node>
</node>
<node id="2">
<key N="6" S="4" E="16" W="8"/>
<node id="1">
<key N="5" S="4" E="8" W="9"/>
<data x="8" y="4">itemG</data>
<data x="9" y="5">itemD</data>
</node>
<node id="2">
<key N="6" S="5" E="11" W="16"/>
<data x="11" y="5">itemF</data>
<data x="16" y="6">itemE</data>
</node>
</node>
Document
Element "Key"
Element "Node"
Element "Data"
Queried by XPath
Based on the XML structure and the data
Retrieve the node “data” containing attribute
“x=8”
Can also retrieve the parent-node, siblingnode, etc.
//data[@x=‘8’]
/node[1]/node[1]/key/following-sibling::*
Useful in XSLT
Queried by RDBMS
Based on the data
Classical “select * from” clause
Can retrieve any item based on its
attributes
i
d
1
N
1
S
1
E
1
i
W
d
1
0
N
0
S
0
E
0
W
0
x
y
data
1
7
3
6
1
1
7
5
2
1
1
5
itemA
1
7
3
6
1
1
7
5
2
1
2
7
itemB
1
7
3
6
1
2
4
3
6
4
4
3
itemA
1
7
3
6
1
2
4
3
6
4
6
4
itemC
2
6
4
16
8
1
5
4
8
9
9
5
itemD
2
6
4
16
8
1
5
4
8
9
8
4
itemG
2
6
4
16
8
2
6
5
11
16
11
5
itemE
2
6
4
16
8
2
6
5
11
16
16
6
itemE
Queried by R-Tree
How about if I told you it is a R-Tree?
Spatial Queries
Give me the point at (2,7)
Give me the point nearest to (4,4)
Nearest Neighbor Search
Give me the point nearest to “itemB”
(0,0)
What makes the difference?
Make use of knowledge we have on the
data given.
We can do the spatial query ONLY if we
know the data segment is representing a RTree, and understand what are the attributes
(id, N, S, E, W, etc.) representing.
Problem
There are a lot of different data structures,
different data manipulations, and different
query methods.
How could we model them with XML?
The MMX Framework
The MMX Framework
To solve the previous problem:
Knowledge on knowledge
A framework allowing various data structures to be
implemented upon
Describe the structural information of XML Document
Empirical knowledge
Analogeous to RDF
Manipulation of information with structural information
Queries
Updates
Exchanging information
Model the “Models”
The kinds of “Models” is unlimited
They may looks “similar”, all of them can
be represented by graphs or XML tree
But the underlying structures, constraints
and algorithms are different
No generic descriptive syntax
Use a “label” and “procedural” approach
Label “known” structures, and
Program the “new” structures
Major “Labeled Models”
Generic
Object
Vector
Relational
Document
Tree
Basic Model
Abstract Data Object (ADO)
Encapsulate the information about a package
of structured data
Accessible at Root
Pointing out at Child Node
Includes:
Parent Node
Model Name
Properties
Behaviors
Data
In References
Child
Node
Head Node
Abstract Data Object:
Properties,
Behaviours,
Data
Out References
Leave Nodes
Out References
Child
Node
Child
Node
Syntax
Serialization Syntax
Embedded in XML Document
Defines elements like <ado>, <property>, etc.
Easy to use
Change the document instance
Schema Syntax
Embedded in XML Document Schema
Associate element names with structural information
More complicated
Do not need to change the document
Favors reusability, scalability and interoperability
Behaviors
Behaviors
Properties
The program to manipulate the data
“Default” Behaviors allow operations on any
standard ADOs
Persistent variables
Keeping the state of the ADO
Data
User data
Appear as DOM Tree to the Behavior program
Conclusion
Contribution
Propose a representation to encapsulate data
structures
A procedural model to manipulate the data
Promote the use of interoperable data structure
format
Describe how will typical “Models” functions
Describe the “Tree” model which features spatial
queries, and particularly suitable for searching in
DVL
Difficulties
No general syntax can precisely describe
all kinds of data structures
Not possible to include all data structures
one-by-one
Research Direction
Develop the full specification for the MMX
Framework
Develop various structures that tailored for
content-based searching in DVL
Q&A