SlideShare a Scribd company logo
2nd Workshop on Digital Information Management                            April, 25-26, 2012
                                                                             Corfu, Greece




  Path-based MXML Storage
        and Querying
  Nikolaos Fousteris 1 , Manolis Gergatsoulis 1 , Yannis Stavrakas 2
  1 Department of Archives and Library Science,      2 Institutefor the Management
                 Ionian University                    of Information Systems (IMIS),
    Ioannou Theotoki 72,49100 Corfu, Greece.                   R. C. Athena,
           {nfouster,manolis}@ionio.gr            G. Mpakou 17, 11524, Athens,Greece.
                                                              yannis@inmis.gr
Introduction & Motivation
 The problem of storing and querying XML data
 using relational databases has been considered
 a lot
 Multidimensional XML is an extension of XML
 and it is used for representing data that assume
 different facets, having different values or
 structure, under different contexts
 We expand the problem of storing and querying
 XML to multidimensional XML data

                                                    2
Outline
 XML Storage
 Multidimensional XML(MXML)
   Fundamental concepts
   MXML example and graphical representation
 MXML Storage
   A path-based approaches is presented
 Context Representation
 Multidimensional XPath (MXPath)
 MXPath to SQL conversion algorithm
 Summary & Future work
                                               3
XML Storage (1/2)
 Includes techniques to store XML data in
 Relational Databases
 XML applications (internet applications)
 are able to exploit the advantages of the
 RDBMS technology
 Operations over XML data, are
 transformed to operations over the
 Relational Schema
                                             4
XML Storage (2/2)
Methodology
  A Relational Schema is chosen for storing XML data
  XML queries are produced by users/applications
  XML queries are translated to SQL queries
  SQL queries are executed
  Results are translated back to XML and returned to the
  user/application

Techniques
  Schema Based
  Schema Oblivious
                                                       5
Multidimensional XML (MXML)
Fundamental Concepts (1/3)

 MXML is an extension of XML

 In MXML data assume different facets,
 having different value or structure, under
 different contexts according to a number of
 dimensions which may be applied to
 elements and attributes

                                           6
MXML – Fundamental Concepts (2/3)

 Dimension: is a variable. Assigning different
 values for each dimension it is possible to
 construct different environments for MXML data
 World: represents an environment under which
 data obtain a meaning and is determined by
 assigning to every dimension a single value
 Context Specifier: an expression which specifies
 a set of worlds (context) under which a facet of an
 MXML element or attribute, is the holding facet of
 this element or attribute

                                                  7
MXML – Example
<book isbn=[edition=english]"0-13-110362-8"[/]               Multidimensional
             [edition=greek]"0-13-110370-9"[/]>              elements/attributes are
 <title>The C programming language</title>                   elements/attributes that
 <authors>                                                   have different facets
    <author>Brian W. Kernighan</author>                      under different
    <author>Dennis M. Ritchie</author>                       contexts.
 </authors>
 <@publisher>                                                Each multidimensional
                                                             element/attribute
 [edition = english] <publisher>Prentice Hall</publisher>[/]
                                                             contains one or more
 [edition = greek] <publisher>Klidarithmos</publisher>[/]
                                                             facets, called Context
 </@publisher>                                               element/attributes.
 <@translator>
 [edition = greek] <translator>Thomas Moraitis</translator>[/]
 </@translator>
 <@price>
                                                                                8
   …….
MXML Graphical Representation




                                9
MXML – Fundamental Concepts (3/3)

 Explicit Context: Is the true context (defined by
 a context specifier) only within the boundaries of
 a single multidimensional element/attribute.
 Inherited Context: Is the context, which is
 inherited from the ancestor nodes to a
 descendant node in the MXML graph.
 Inherited Context Coverage: It constraints the
 inherited context of a node, so as to contain only
 the worlds under which the node has access to
 some value node.

                                                  10
MXML Storage (1/5)
 MXML storage includes techniques that
 store MXML data in Relational Databases.
 Applications using MXML storage are able
 to exploit the advantages of the RDBMS
 technology.
 MXML additional features (context,
 different types of MXML nodes/edges etc.)
 should be considered.
                                         11
MXML Storage (2/5)
Path-based Approach
 MXML nodes are divided into groups, according
 to their types. Each group is stored in a separate
 table named after the type of the nodes
 (elements, attributes and value nodes).
 There is a Path Table, which stores all possible
 paths of the MXML tree.
 For node indexing, it is used a dotted format of
 Dewey-labeling schema.

                                                    12
MXML Storage (3/5)                         Path-based Approach



Dewey-labeling schema
  Used for indexing the nodes of
  MXML tree.
  A label is a dotted string
  a1.a2.a3…an.
  For each ai (i=1…n), i represents
  the depth and ai the position
  number of a node among its
  siblings.

Ex. Node “1.1.2” is the 2nd child of node “1.1” and is placed
  at the 3rd level of the MXML tree.

                                                           13
MXML Storage (4/5)   Path-based Approach




                                    14
MXML Storage (5/5)                              Path-based Approach


Path representation
                      Ex.                                 SQL
                      XPath: /book//picture
                                                        wildcard
                      SQL1:
                      select.. from.. where path LIKE ‘/book%/picture’

                      case1: ‘/book/cover/picture’ (match) correct
                      case2: ‘/booklet/cover/picture’ (match) error

                      SQL2:
                      select.. from.. where path LIKE ‘#/book#%/picture’

                      Cases like case2 above could not happen.

                                                                      15
Context Representation (1/5)

Question

How can we represent in a Relational Database
the set of worlds which are contained in a context
specifier, for each MXML node?




                                                     16
Context Representation (2/5)
Ordered-Based Representation of Context
Basic idea: Total ordering of worlds based on:
  Total ordering of dimensions
  Total ordering of dimension values
For k dimensions with each dimension i having zi
possible values, we may have n=z1*z2*….*zk
possible ordered worlds.
Each world is assigned a unique integer value
between 1 and n (w1 to wn).
                                                   17
Context Representation (3/5)
Ordered-Based Representation of Context

                                    dimensions ordering

                                          dimension values
                                              ordering




                                    possible worlds
                                    ordering



                                                       18
Context Representation (4/5)
Ordered-Based Representation of Context

World Vector:
   A binary number representing a context
specifier. The position of every bit
corresponds to the position of a world
in the total ordering of all possible worlds.
  Each bit of the world vector has two
possible values: 1 if the corresponding
world exists in context specifier or 0 if it does not)
 binary digit for W1   ……       binary digit for Wi       ……      binary digit for Wn
                            1 or 0: world exists or not        n=possible worlds number

possible worlds ordering

Ex: world_vector of the expl. context of node 1.1.6.1 = 0011
                                                                                          19
Context Representation (5/5)
 Ordered-Based
 Representation of Context

Explicit Context Table:
Assigns an explicit context
(expressed in binary format
according to world vector
representation) to a MXML node.
Inherited Context Coverage Table:
Assigns an inherited context coverage
(expressed in binary format according to
world vector representation) to a MXML
node.
                                           20
Multidimensional XPath (MXPath) (1/2)

MXPath:
   An extension of XPath able to easily express
   context-aware queries on MXML data.
   Both explicit context (ec) and inherited context
   coverage (icc) are used to navigate over
   multidimensional elements and attributes.
   Conditions on the explicit context at any point
   of the path are allowed.
   Both multidimensional and context nodes can
   be returned.
                                                 21
Multidimensional XPath (MXPath) (2/2)
      MXPath example:
      [icc() >= “-”],/child::book
      /child::cover[ec() >= “ed=gr”]/child->picture

                            Query in English:
                            Find the (multidimensional) sub-
                  Result
                            element picture of element cover of
                            the greek edition of the book.

                            cover[ec() >= “ed=gr”]
                            is an explicit context qualifier. The
                            function ec() returns the explicit
                            context of a node. The above qualifier
                            says that the ec of the node cover must
                            be superset of the context described
                            by the context specifier [ed=gr].
                                                               22
MXPath to SQL conversion algorithm (1/4)

Methodology:
    Give a MXPath query “Q”, we construct the
    Multidimensional Tree Pattern “G” of Q.
    We divide “Q” in sub-paths according to
    segmentation rules, which define the
    appropriate segmentation points in “G”.
    The sub-paths of “Q” and the predicates are
    used as input for the MXPath to SQL
    conversion algorithm.

                                                  23
MXPath to SQL conversion algorithm (2/4)
                 MXPath example:
 branch
                 /book[authors[author=“Brian W.K.”]]
                 /cover[ec()=“ed=gr”]/->material


                        Query in English:
                        Find the (multidimensional) sub-
                        element material of element cover of
                        the greek edition of the book which
                        has an author named “Brian W.K.”.

                        Notice that the predicate
             Result     [authors[author=“Brian W.K.”]]
                        is a branch.

                                                           24
MXPath to SQL conversion algorithm (3/4)
Multidimensional             MXPath query “Q”:
Tree Pattern                 /book[authors[author=“Brian W.K.”]]
   book(M)                   /cover[ec()=“ed=gr”]/->material

   book      authors(M)   authors   author(M)     author    “Brian W.K.”


  cover(M)
                          Segmentation (Q):
                          Sub_Path_1: #/book
                            Segmentation
                           Predicate_1: [authors[author=“Brian W.K.”]]
                             branch ( authors[author=“Brian W.K.”] ):
  cover[ec()=“ed=gr”]      Sub_Path_2: #/book#/cover
                             Sub_Path_1: #/book#/authors#/author
                           Sub_Path_3: #/book#/cover#/->material
                             Value_1=“Brian W.K.”
 material(M)

                                                                     25
MXPath to SQL conversion algorithm (4/4)
MXPath: /book[authors[author=“Brian W.K.”]]/cover[ec()=“ed=gr”]/->material

SQL:                                       (Select a1.node_id AS a_id
                                             From Element_Table a1, Path_Table p1,
Select a3.node_id                            Value_Table v1
From Element_Table a1, Element_Table a2,     Where p1.path Like '#/book#/authors#/author' and
      Element_Table a3, Path_Table p1,       a1.path_id = p1.path_id and
      Path_Table p2, Path_Table p3,          v1.path_id = p1.path_id and
      EC_Table ec1                           v1.value = 'Brian W.K.' and
Where p1.path Like '#/book' and              v1.node_id Like CONCAT(a1.node_id,'%')
 a1.path_id = p1.path_id and                ) AS T
 a1.node_id = ANY (                        ) and
 Select SUBSTRING_INDEX(a_id,'.', 2)       a2.node_id Like CONCAT(a1.node_id,'%') and
 From                                      p2.path Like '#/book#/cover' and
                                           a2.path_id = p2.path_id and
                                           a2.node_id = ec1.node_id and
                                           ec1.world_vector LIKE '000111' and
                                           a3.node_id Like CONCAT(a2.node_id,'%') and
                                           p3.path Like '#/book#/cover#/->material' and
                                           a3.path_id = p3.path_id



                                                                                         26
Summary
  MXML
  Storing MXML in Relational DB & Context Representation
 (path-based approach)
  MXML querying using MXPath
  Converting MXPath queries to SQL queries


Future work
 Conversion Algorithm implementation and evaluation
 Further optimization of the relational schema



                                                      27
References
1. N. Fousteris, Y. Stavrakas, and M. Gergatsoulis.
   Multidimensional XPath. In Proc. of iiWAS 2008 , pp. 162-169.
   ACM, 2008 .
2. M. Gergatsoulis, Y. Stavrakas, and D. Karteris. Incorporating
   Dimensions in XML and DTD. In Database and Expert
   Systems Applications, 12th International Conference, DEXA
   2001 Munich, Germany, September 3-5, 2001, Proceedings,
   volume 2113 of Lecture Notes in Computer Science, pp. 646-
   656. Springer, 2001.
3. M. Yoshikawa, T. Amagasa, T. Shimura, and S. Uemura.
   XRel: a path-based approach to storage and retrieval of XML
   documents using relational databases. ACM Transactions on
   Internet Technology, 1(1):110-141, 2001.



                                                             28
Thank you..




              29

More Related Content

Similar to Path-based MXML Storage and Querying

Probabilistic models (part 1)
Probabilistic models (part 1)Probabilistic models (part 1)
Probabilistic models (part 1)
KU Leuven
 
K04302082087
K04302082087K04302082087
K04302082087
ijceronline
 
Xml query language and navigation
Xml query language and navigationXml query language and navigation
Xml query language and navigation
Raghu nath
 
Applied xml programming for microsoft
Applied xml programming for microsoftApplied xml programming for microsoft
Applied xml programming for microsoft
Raghu nath
 
X-RECOSA: MULTI-SCALE CONTEXT AGGREGATION FOR MULTI-TURN DIALOGUE GENERATION
X-RECOSA: MULTI-SCALE CONTEXT AGGREGATION FOR MULTI-TURN DIALOGUE GENERATIONX-RECOSA: MULTI-SCALE CONTEXT AGGREGATION FOR MULTI-TURN DIALOGUE GENERATION
X-RECOSA: MULTI-SCALE CONTEXT AGGREGATION FOR MULTI-TURN DIALOGUE GENERATION
IJCI JOURNAL
 
A Study on Mapping Semi-Structured Data to a Structured Data for Inverted Ind...
A Study on Mapping Semi-Structured Data to a Structured Data for Inverted Ind...A Study on Mapping Semi-Structured Data to a Structured Data for Inverted Ind...
A Study on Mapping Semi-Structured Data to a Structured Data for Inverted Ind...
BRNSSPublicationHubI
 
Chapter3_a_updated.ppt
Chapter3_a_updated.pptChapter3_a_updated.ppt
Chapter3_a_updated.ppt
Awais Qarni
 
DATA INTEGRATION (Gaining Access to Diverse Data).ppt
DATA INTEGRATION (Gaining Access to Diverse Data).pptDATA INTEGRATION (Gaining Access to Diverse Data).ppt
DATA INTEGRATION (Gaining Access to Diverse Data).ppt
careerPointBasti
 
Mining Features from the Object-Oriented Source Code of Software Variants by ...
Mining Features from the Object-Oriented Source Code of Software Variants by ...Mining Features from the Object-Oriented Source Code of Software Variants by ...
Mining Features from the Object-Oriented Source Code of Software Variants by ...
Ra'Fat Al-Msie'deen
 
Towards a Query Rewriting Algorithm Over Proteomics XML Resources
Towards a Query Rewriting Algorithm Over Proteomics XML ResourcesTowards a Query Rewriting Algorithm Over Proteomics XML Resources
Towards a Query Rewriting Algorithm Over Proteomics XML Resources
CSCJournals
 
HadoopXML: A Suite for Parallel Processing of Massive XML Data with Multiple ...
HadoopXML: A Suite for Parallel Processing of Massive XML Data with Multiple ...HadoopXML: A Suite for Parallel Processing of Massive XML Data with Multiple ...
HadoopXML: A Suite for Parallel Processing of Massive XML Data with Multiple ...
Kyong-Ha Lee
 
Expressing and Exploiting Multi-Dimensional Locality in DASH
Expressing and Exploiting Multi-Dimensional Locality in DASHExpressing and Exploiting Multi-Dimensional Locality in DASH
Expressing and Exploiting Multi-Dimensional Locality in DASH
Menlo Systems GmbH
 
Data integration with a façade. The case of knowledge graph construction.
Data integration with a façade. The case of knowledge graph construction.Data integration with a façade. The case of knowledge graph construction.
Data integration with a façade. The case of knowledge graph construction.
Enrico Daga
 
Advanced Web Programming Chapter 12
Advanced Web Programming Chapter 12Advanced Web Programming Chapter 12
Advanced Web Programming Chapter 12
RohanMistry15
 
Xml processing-by-asfak
Xml processing-by-asfakXml processing-by-asfak
Xml processing-by-asfak
Asfak Mahamud
 
04 sm3 xml_xp_07
04 sm3 xml_xp_0704 sm3 xml_xp_07
04 sm3 xml_xp_07
Niit Care
 
Xml session05
Xml session05Xml session05
Xml session05
Niit Care
 
MIT302 Lesson 2_Advanced Database Systems.pptx
MIT302 Lesson 2_Advanced Database Systems.pptxMIT302 Lesson 2_Advanced Database Systems.pptx
MIT302 Lesson 2_Advanced Database Systems.pptx
elsagalgao
 
unit_5_XML data integration database management
unit_5_XML data integration database managementunit_5_XML data integration database management
unit_5_XML data integration database management
sathiyabcsbs
 
Bhagaban Mallik
Bhagaban MallikBhagaban Mallik

Similar to Path-based MXML Storage and Querying (20)

Probabilistic models (part 1)
Probabilistic models (part 1)Probabilistic models (part 1)
Probabilistic models (part 1)
 
K04302082087
K04302082087K04302082087
K04302082087
 
Xml query language and navigation
Xml query language and navigationXml query language and navigation
Xml query language and navigation
 
Applied xml programming for microsoft
Applied xml programming for microsoftApplied xml programming for microsoft
Applied xml programming for microsoft
 
X-RECOSA: MULTI-SCALE CONTEXT AGGREGATION FOR MULTI-TURN DIALOGUE GENERATION
X-RECOSA: MULTI-SCALE CONTEXT AGGREGATION FOR MULTI-TURN DIALOGUE GENERATIONX-RECOSA: MULTI-SCALE CONTEXT AGGREGATION FOR MULTI-TURN DIALOGUE GENERATION
X-RECOSA: MULTI-SCALE CONTEXT AGGREGATION FOR MULTI-TURN DIALOGUE GENERATION
 
A Study on Mapping Semi-Structured Data to a Structured Data for Inverted Ind...
A Study on Mapping Semi-Structured Data to a Structured Data for Inverted Ind...A Study on Mapping Semi-Structured Data to a Structured Data for Inverted Ind...
A Study on Mapping Semi-Structured Data to a Structured Data for Inverted Ind...
 
Chapter3_a_updated.ppt
Chapter3_a_updated.pptChapter3_a_updated.ppt
Chapter3_a_updated.ppt
 
DATA INTEGRATION (Gaining Access to Diverse Data).ppt
DATA INTEGRATION (Gaining Access to Diverse Data).pptDATA INTEGRATION (Gaining Access to Diverse Data).ppt
DATA INTEGRATION (Gaining Access to Diverse Data).ppt
 
Mining Features from the Object-Oriented Source Code of Software Variants by ...
Mining Features from the Object-Oriented Source Code of Software Variants by ...Mining Features from the Object-Oriented Source Code of Software Variants by ...
Mining Features from the Object-Oriented Source Code of Software Variants by ...
 
Towards a Query Rewriting Algorithm Over Proteomics XML Resources
Towards a Query Rewriting Algorithm Over Proteomics XML ResourcesTowards a Query Rewriting Algorithm Over Proteomics XML Resources
Towards a Query Rewriting Algorithm Over Proteomics XML Resources
 
HadoopXML: A Suite for Parallel Processing of Massive XML Data with Multiple ...
HadoopXML: A Suite for Parallel Processing of Massive XML Data with Multiple ...HadoopXML: A Suite for Parallel Processing of Massive XML Data with Multiple ...
HadoopXML: A Suite for Parallel Processing of Massive XML Data with Multiple ...
 
Expressing and Exploiting Multi-Dimensional Locality in DASH
Expressing and Exploiting Multi-Dimensional Locality in DASHExpressing and Exploiting Multi-Dimensional Locality in DASH
Expressing and Exploiting Multi-Dimensional Locality in DASH
 
Data integration with a façade. The case of knowledge graph construction.
Data integration with a façade. The case of knowledge graph construction.Data integration with a façade. The case of knowledge graph construction.
Data integration with a façade. The case of knowledge graph construction.
 
Advanced Web Programming Chapter 12
Advanced Web Programming Chapter 12Advanced Web Programming Chapter 12
Advanced Web Programming Chapter 12
 
Xml processing-by-asfak
Xml processing-by-asfakXml processing-by-asfak
Xml processing-by-asfak
 
04 sm3 xml_xp_07
04 sm3 xml_xp_0704 sm3 xml_xp_07
04 sm3 xml_xp_07
 
Xml session05
Xml session05Xml session05
Xml session05
 
MIT302 Lesson 2_Advanced Database Systems.pptx
MIT302 Lesson 2_Advanced Database Systems.pptxMIT302 Lesson 2_Advanced Database Systems.pptx
MIT302 Lesson 2_Advanced Database Systems.pptx
 
unit_5_XML data integration database management
unit_5_XML data integration database managementunit_5_XML data integration database management
unit_5_XML data integration database management
 
Bhagaban Mallik
Bhagaban MallikBhagaban Mallik
Bhagaban Mallik
 

More from Giannis Tsakonas

Αρχειακά Μεταδεδομένα: Πρότυπα και Διαχείριση στον Παγκόσμιο Ιστό
Αρχειακά Μεταδεδομένα: Πρότυπα και Διαχείριση στον Παγκόσμιο ΙστόΑρχειακά Μεταδεδομένα: Πρότυπα και Διαχείριση στον Παγκόσμιο Ιστό
Αρχειακά Μεταδεδομένα: Πρότυπα και Διαχείριση στον Παγκόσμιο Ιστό
Giannis Tsakonas
 
The “Nomenclature of Multidimensionality” in the Digital Libraries Evaluation...
The “Nomenclature of Multidimensionality” in the Digital Libraries Evaluation...The “Nomenclature of Multidimensionality” in the Digital Libraries Evaluation...
The “Nomenclature of Multidimensionality” in the Digital Libraries Evaluation...
Giannis Tsakonas
 
Increasing traceability of physical library items through Koha: the case of S...
Increasing traceability of physical library items through Koha: the case of S...Increasing traceability of physical library items through Koha: the case of S...
Increasing traceability of physical library items through Koha: the case of S...
Giannis Tsakonas
 
Ακαδημαϊκές Βιβλιοθήκες στην Πάτρα: Προηγμένες υπηρεσίες, δικτύωση & προοπτικές
Ακαδημαϊκές Βιβλιοθήκες στην Πάτρα: Προηγμένες υπηρεσίες, δικτύωση & προοπτικέςΑκαδημαϊκές Βιβλιοθήκες στην Πάτρα: Προηγμένες υπηρεσίες, δικτύωση & προοπτικές
Ακαδημαϊκές Βιβλιοθήκες στην Πάτρα: Προηγμένες υπηρεσίες, δικτύωση & προοπτικές
Giannis Tsakonas
 
We were group no 2: notes for the MLAS2015 workshop
We were group no 2: notes for the MLAS2015 workshopWe were group no 2: notes for the MLAS2015 workshop
We were group no 2: notes for the MLAS2015 workshop
Giannis Tsakonas
 
Βιβλιοθήκες & Πολιτισμός: τα προφανή και τα ευνόητα
Βιβλιοθήκες & Πολιτισμός: τα προφανή και τα ευνόηταΒιβλιοθήκες & Πολιτισμός: τα προφανή και τα ευνόητα
Βιβλιοθήκες & Πολιτισμός: τα προφανή και τα ευνόητα
Giannis Tsakonas
 
{Tech}changes: the technological state of Greek Libraries.
{Tech}changes: the technological state of Greek Libraries.{Tech}changes: the technological state of Greek Libraries.
{Tech}changes: the technological state of Greek Libraries.
Giannis Tsakonas
 
Affective relationships between users & libraries in times of economic stress
Affective relationships between users & libraries in times of economic stressAffective relationships between users & libraries in times of economic stress
Affective relationships between users & libraries in times of economic stress
Giannis Tsakonas
 
Charting the Digital Library Evaluation Domain with a Semantically Enhanced M...
Charting the Digital Library Evaluation Domain with a Semantically Enhanced M...Charting the Digital Library Evaluation Domain with a Semantically Enhanced M...
Charting the Digital Library Evaluation Domain with a Semantically Enhanced M...
Giannis Tsakonas
 
Δεδομένα Βιβλιοθηκών στο μελλοντικό ψηφιακό περιβάλλον - Σεμινάριο Κύπρου
Δεδομένα Βιβλιοθηκών στο μελλοντικό ψηφιακό περιβάλλον - Σεμινάριο ΚύπρουΔεδομένα Βιβλιοθηκών στο μελλοντικό ψηφιακό περιβάλλον - Σεμινάριο Κύπρου
Δεδομένα Βιβλιοθηκών στο μελλοντικό ψηφιακό περιβάλλον - Σεμινάριο ΚύπρουGiannis Tsakonas
 
FRBR και Linked Data - Σεμινάριο Αθήνας
FRBR και Linked Data -  Σεμινάριο ΑθήναςFRBR και Linked Data -  Σεμινάριο Αθήνας
FRBR και Linked Data - Σεμινάριο Αθήνας
Giannis Tsakonas
 
Automatic Medical Document Generation via Spatial SNOMED Elements in Hysteros...
Automatic Medical Document Generation via Spatial SNOMED Elements in Hysteros...Automatic Medical Document Generation via Spatial SNOMED Elements in Hysteros...
Automatic Medical Document Generation via Spatial SNOMED Elements in Hysteros...Giannis Tsakonas
 
Policies for geospatial collections: a research in US and Canadian academic l...
Policies for geospatial collections: a research in US and Canadian academic l...Policies for geospatial collections: a research in US and Canadian academic l...
Policies for geospatial collections: a research in US and Canadian academic l...
Giannis Tsakonas
 
Developing a Metadata Model for Historic Buildings: Describing and Linking Ar...
Developing a Metadata Model for Historic Buildings: Describing and Linking Ar...Developing a Metadata Model for Historic Buildings: Describing and Linking Ar...
Developing a Metadata Model for Historic Buildings: Describing and Linking Ar...
Giannis Tsakonas
 
Query Expansion and Context: Thoughts on Language, Meaning and Knowledge Orga...
Query Expansion and Context: Thoughts on Language, Meaning and Knowledge Orga...Query Expansion and Context: Thoughts on Language, Meaning and Knowledge Orga...
Query Expansion and Context: Thoughts on Language, Meaning and Knowledge Orga...
Giannis Tsakonas
 
Δεδομένα Βιβλιοθηκών στο μελλοντικό ψηφιακό περιβάλλον - FRBR και Linked Data
Δεδομένα Βιβλιοθηκών στο μελλοντικό ψηφιακό περιβάλλον - FRBR και Linked DataΔεδομένα Βιβλιοθηκών στο μελλοντικό ψηφιακό περιβάλλον - FRBR και Linked Data
Δεδομένα Βιβλιοθηκών στο μελλοντικό ψηφιακό περιβάλλον - FRBR και Linked Data
Giannis Tsakonas
 
Open Bibliographic Data and E-LIS
Open Bibliographic Data and E-LISOpen Bibliographic Data and E-LIS
Open Bibliographic Data and E-LIS
Giannis Tsakonas
 
Dileo Presentation (in English)
Dileo Presentation (in English)Dileo Presentation (in English)
Dileo Presentation (in English)
Giannis Tsakonas
 
Evaluation Insights to Key Processes of Digital Repositories
Evaluation Insights to Key Processes of Digital RepositoriesEvaluation Insights to Key Processes of Digital Repositories
Evaluation Insights to Key Processes of Digital Repositories
Giannis Tsakonas
 
E-LIS, το ηλεκτρονικό αρχείο για τη Βιβλιοθηκονομία και την Επιστήμη της Πληρ...
E-LIS, το ηλεκτρονικό αρχείο για τη Βιβλιοθηκονομία και την Επιστήμη της Πληρ...E-LIS, το ηλεκτρονικό αρχείο για τη Βιβλιοθηκονομία και την Επιστήμη της Πληρ...
E-LIS, το ηλεκτρονικό αρχείο για τη Βιβλιοθηκονομία και την Επιστήμη της Πληρ...
Giannis Tsakonas
 

More from Giannis Tsakonas (20)

Αρχειακά Μεταδεδομένα: Πρότυπα και Διαχείριση στον Παγκόσμιο Ιστό
Αρχειακά Μεταδεδομένα: Πρότυπα και Διαχείριση στον Παγκόσμιο ΙστόΑρχειακά Μεταδεδομένα: Πρότυπα και Διαχείριση στον Παγκόσμιο Ιστό
Αρχειακά Μεταδεδομένα: Πρότυπα και Διαχείριση στον Παγκόσμιο Ιστό
 
The “Nomenclature of Multidimensionality” in the Digital Libraries Evaluation...
The “Nomenclature of Multidimensionality” in the Digital Libraries Evaluation...The “Nomenclature of Multidimensionality” in the Digital Libraries Evaluation...
The “Nomenclature of Multidimensionality” in the Digital Libraries Evaluation...
 
Increasing traceability of physical library items through Koha: the case of S...
Increasing traceability of physical library items through Koha: the case of S...Increasing traceability of physical library items through Koha: the case of S...
Increasing traceability of physical library items through Koha: the case of S...
 
Ακαδημαϊκές Βιβλιοθήκες στην Πάτρα: Προηγμένες υπηρεσίες, δικτύωση & προοπτικές
Ακαδημαϊκές Βιβλιοθήκες στην Πάτρα: Προηγμένες υπηρεσίες, δικτύωση & προοπτικέςΑκαδημαϊκές Βιβλιοθήκες στην Πάτρα: Προηγμένες υπηρεσίες, δικτύωση & προοπτικές
Ακαδημαϊκές Βιβλιοθήκες στην Πάτρα: Προηγμένες υπηρεσίες, δικτύωση & προοπτικές
 
We were group no 2: notes for the MLAS2015 workshop
We were group no 2: notes for the MLAS2015 workshopWe were group no 2: notes for the MLAS2015 workshop
We were group no 2: notes for the MLAS2015 workshop
 
Βιβλιοθήκες & Πολιτισμός: τα προφανή και τα ευνόητα
Βιβλιοθήκες & Πολιτισμός: τα προφανή και τα ευνόηταΒιβλιοθήκες & Πολιτισμός: τα προφανή και τα ευνόητα
Βιβλιοθήκες & Πολιτισμός: τα προφανή και τα ευνόητα
 
{Tech}changes: the technological state of Greek Libraries.
{Tech}changes: the technological state of Greek Libraries.{Tech}changes: the technological state of Greek Libraries.
{Tech}changes: the technological state of Greek Libraries.
 
Affective relationships between users & libraries in times of economic stress
Affective relationships between users & libraries in times of economic stressAffective relationships between users & libraries in times of economic stress
Affective relationships between users & libraries in times of economic stress
 
Charting the Digital Library Evaluation Domain with a Semantically Enhanced M...
Charting the Digital Library Evaluation Domain with a Semantically Enhanced M...Charting the Digital Library Evaluation Domain with a Semantically Enhanced M...
Charting the Digital Library Evaluation Domain with a Semantically Enhanced M...
 
Δεδομένα Βιβλιοθηκών στο μελλοντικό ψηφιακό περιβάλλον - Σεμινάριο Κύπρου
Δεδομένα Βιβλιοθηκών στο μελλοντικό ψηφιακό περιβάλλον - Σεμινάριο ΚύπρουΔεδομένα Βιβλιοθηκών στο μελλοντικό ψηφιακό περιβάλλον - Σεμινάριο Κύπρου
Δεδομένα Βιβλιοθηκών στο μελλοντικό ψηφιακό περιβάλλον - Σεμινάριο Κύπρου
 
FRBR και Linked Data - Σεμινάριο Αθήνας
FRBR και Linked Data -  Σεμινάριο ΑθήναςFRBR και Linked Data -  Σεμινάριο Αθήνας
FRBR και Linked Data - Σεμινάριο Αθήνας
 
Automatic Medical Document Generation via Spatial SNOMED Elements in Hysteros...
Automatic Medical Document Generation via Spatial SNOMED Elements in Hysteros...Automatic Medical Document Generation via Spatial SNOMED Elements in Hysteros...
Automatic Medical Document Generation via Spatial SNOMED Elements in Hysteros...
 
Policies for geospatial collections: a research in US and Canadian academic l...
Policies for geospatial collections: a research in US and Canadian academic l...Policies for geospatial collections: a research in US and Canadian academic l...
Policies for geospatial collections: a research in US and Canadian academic l...
 
Developing a Metadata Model for Historic Buildings: Describing and Linking Ar...
Developing a Metadata Model for Historic Buildings: Describing and Linking Ar...Developing a Metadata Model for Historic Buildings: Describing and Linking Ar...
Developing a Metadata Model for Historic Buildings: Describing and Linking Ar...
 
Query Expansion and Context: Thoughts on Language, Meaning and Knowledge Orga...
Query Expansion and Context: Thoughts on Language, Meaning and Knowledge Orga...Query Expansion and Context: Thoughts on Language, Meaning and Knowledge Orga...
Query Expansion and Context: Thoughts on Language, Meaning and Knowledge Orga...
 
Δεδομένα Βιβλιοθηκών στο μελλοντικό ψηφιακό περιβάλλον - FRBR και Linked Data
Δεδομένα Βιβλιοθηκών στο μελλοντικό ψηφιακό περιβάλλον - FRBR και Linked DataΔεδομένα Βιβλιοθηκών στο μελλοντικό ψηφιακό περιβάλλον - FRBR και Linked Data
Δεδομένα Βιβλιοθηκών στο μελλοντικό ψηφιακό περιβάλλον - FRBR και Linked Data
 
Open Bibliographic Data and E-LIS
Open Bibliographic Data and E-LISOpen Bibliographic Data and E-LIS
Open Bibliographic Data and E-LIS
 
Dileo Presentation (in English)
Dileo Presentation (in English)Dileo Presentation (in English)
Dileo Presentation (in English)
 
Evaluation Insights to Key Processes of Digital Repositories
Evaluation Insights to Key Processes of Digital RepositoriesEvaluation Insights to Key Processes of Digital Repositories
Evaluation Insights to Key Processes of Digital Repositories
 
E-LIS, το ηλεκτρονικό αρχείο για τη Βιβλιοθηκονομία και την Επιστήμη της Πληρ...
E-LIS, το ηλεκτρονικό αρχείο για τη Βιβλιοθηκονομία και την Επιστήμη της Πληρ...E-LIS, το ηλεκτρονικό αρχείο για τη Βιβλιοθηκονομία και την Επιστήμη της Πληρ...
E-LIS, το ηλεκτρονικό αρχείο για τη Βιβλιοθηκονομία και την Επιστήμη της Πληρ...
 

Recently uploaded

Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems S.M.S.A.
 
RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
KAMESHS29
 
Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
Pixlogix Infotech
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Paige Cruz
 
Building Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and MilvusBuilding Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and Milvus
Zilliz
 
“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”
Claudio Di Ciccio
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
SOFTTECHHUB
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
DianaGray10
 
Mariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceXMariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceX
Mariano Tinti
 
GenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizationsGenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizations
kumardaparthi1024
 
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
名前 です男
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
Quotidiano Piemontese
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
Adtran
 
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
SOFTTECHHUB
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
Matthew Sinclair
 
GraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracyGraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracy
Tomaz Bratanic
 
How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
danishmna97
 
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
Neo4j
 
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial IntelligenceAI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
IndexBug
 

Recently uploaded (20)

Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
 
RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
 
Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
 
Building Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and MilvusBuilding Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and Milvus
 
“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
 
Mariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceXMariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceX
 
GenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizationsGenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizations
 
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
 
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
 
GraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracyGraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracy
 
How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
 
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
 
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial IntelligenceAI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
 

Path-based MXML Storage and Querying

  • 1. 2nd Workshop on Digital Information Management April, 25-26, 2012 Corfu, Greece Path-based MXML Storage and Querying Nikolaos Fousteris 1 , Manolis Gergatsoulis 1 , Yannis Stavrakas 2 1 Department of Archives and Library Science, 2 Institutefor the Management Ionian University of Information Systems (IMIS), Ioannou Theotoki 72,49100 Corfu, Greece. R. C. Athena, {nfouster,manolis}@ionio.gr G. Mpakou 17, 11524, Athens,Greece. yannis@inmis.gr
  • 2. Introduction & Motivation The problem of storing and querying XML data using relational databases has been considered a lot Multidimensional XML is an extension of XML and it is used for representing data that assume different facets, having different values or structure, under different contexts We expand the problem of storing and querying XML to multidimensional XML data 2
  • 3. Outline XML Storage Multidimensional XML(MXML) Fundamental concepts MXML example and graphical representation MXML Storage A path-based approaches is presented Context Representation Multidimensional XPath (MXPath) MXPath to SQL conversion algorithm Summary & Future work 3
  • 4. XML Storage (1/2) Includes techniques to store XML data in Relational Databases XML applications (internet applications) are able to exploit the advantages of the RDBMS technology Operations over XML data, are transformed to operations over the Relational Schema 4
  • 5. XML Storage (2/2) Methodology A Relational Schema is chosen for storing XML data XML queries are produced by users/applications XML queries are translated to SQL queries SQL queries are executed Results are translated back to XML and returned to the user/application Techniques Schema Based Schema Oblivious 5
  • 6. Multidimensional XML (MXML) Fundamental Concepts (1/3) MXML is an extension of XML In MXML data assume different facets, having different value or structure, under different contexts according to a number of dimensions which may be applied to elements and attributes 6
  • 7. MXML – Fundamental Concepts (2/3) Dimension: is a variable. Assigning different values for each dimension it is possible to construct different environments for MXML data World: represents an environment under which data obtain a meaning and is determined by assigning to every dimension a single value Context Specifier: an expression which specifies a set of worlds (context) under which a facet of an MXML element or attribute, is the holding facet of this element or attribute 7
  • 8. MXML – Example <book isbn=[edition=english]"0-13-110362-8"[/] Multidimensional [edition=greek]"0-13-110370-9"[/]> elements/attributes are <title>The C programming language</title> elements/attributes that <authors> have different facets <author>Brian W. Kernighan</author> under different <author>Dennis M. Ritchie</author> contexts. </authors> <@publisher> Each multidimensional element/attribute [edition = english] <publisher>Prentice Hall</publisher>[/] contains one or more [edition = greek] <publisher>Klidarithmos</publisher>[/] facets, called Context </@publisher> element/attributes. <@translator> [edition = greek] <translator>Thomas Moraitis</translator>[/] </@translator> <@price> 8 …….
  • 10. MXML – Fundamental Concepts (3/3) Explicit Context: Is the true context (defined by a context specifier) only within the boundaries of a single multidimensional element/attribute. Inherited Context: Is the context, which is inherited from the ancestor nodes to a descendant node in the MXML graph. Inherited Context Coverage: It constraints the inherited context of a node, so as to contain only the worlds under which the node has access to some value node. 10
  • 11. MXML Storage (1/5) MXML storage includes techniques that store MXML data in Relational Databases. Applications using MXML storage are able to exploit the advantages of the RDBMS technology. MXML additional features (context, different types of MXML nodes/edges etc.) should be considered. 11
  • 12. MXML Storage (2/5) Path-based Approach MXML nodes are divided into groups, according to their types. Each group is stored in a separate table named after the type of the nodes (elements, attributes and value nodes). There is a Path Table, which stores all possible paths of the MXML tree. For node indexing, it is used a dotted format of Dewey-labeling schema. 12
  • 13. MXML Storage (3/5) Path-based Approach Dewey-labeling schema Used for indexing the nodes of MXML tree. A label is a dotted string a1.a2.a3…an. For each ai (i=1…n), i represents the depth and ai the position number of a node among its siblings. Ex. Node “1.1.2” is the 2nd child of node “1.1” and is placed at the 3rd level of the MXML tree. 13
  • 14. MXML Storage (4/5) Path-based Approach 14
  • 15. MXML Storage (5/5) Path-based Approach Path representation Ex. SQL XPath: /book//picture wildcard SQL1: select.. from.. where path LIKE ‘/book%/picture’ case1: ‘/book/cover/picture’ (match) correct case2: ‘/booklet/cover/picture’ (match) error SQL2: select.. from.. where path LIKE ‘#/book#%/picture’ Cases like case2 above could not happen. 15
  • 16. Context Representation (1/5) Question How can we represent in a Relational Database the set of worlds which are contained in a context specifier, for each MXML node? 16
  • 17. Context Representation (2/5) Ordered-Based Representation of Context Basic idea: Total ordering of worlds based on: Total ordering of dimensions Total ordering of dimension values For k dimensions with each dimension i having zi possible values, we may have n=z1*z2*….*zk possible ordered worlds. Each world is assigned a unique integer value between 1 and n (w1 to wn). 17
  • 18. Context Representation (3/5) Ordered-Based Representation of Context dimensions ordering dimension values ordering possible worlds ordering 18
  • 19. Context Representation (4/5) Ordered-Based Representation of Context World Vector: A binary number representing a context specifier. The position of every bit corresponds to the position of a world in the total ordering of all possible worlds. Each bit of the world vector has two possible values: 1 if the corresponding world exists in context specifier or 0 if it does not) binary digit for W1 …… binary digit for Wi …… binary digit for Wn 1 or 0: world exists or not n=possible worlds number possible worlds ordering Ex: world_vector of the expl. context of node 1.1.6.1 = 0011 19
  • 20. Context Representation (5/5) Ordered-Based Representation of Context Explicit Context Table: Assigns an explicit context (expressed in binary format according to world vector representation) to a MXML node. Inherited Context Coverage Table: Assigns an inherited context coverage (expressed in binary format according to world vector representation) to a MXML node. 20
  • 21. Multidimensional XPath (MXPath) (1/2) MXPath: An extension of XPath able to easily express context-aware queries on MXML data. Both explicit context (ec) and inherited context coverage (icc) are used to navigate over multidimensional elements and attributes. Conditions on the explicit context at any point of the path are allowed. Both multidimensional and context nodes can be returned. 21
  • 22. Multidimensional XPath (MXPath) (2/2) MXPath example: [icc() >= “-”],/child::book /child::cover[ec() >= “ed=gr”]/child->picture Query in English: Find the (multidimensional) sub- Result element picture of element cover of the greek edition of the book. cover[ec() >= “ed=gr”] is an explicit context qualifier. The function ec() returns the explicit context of a node. The above qualifier says that the ec of the node cover must be superset of the context described by the context specifier [ed=gr]. 22
  • 23. MXPath to SQL conversion algorithm (1/4) Methodology: Give a MXPath query “Q”, we construct the Multidimensional Tree Pattern “G” of Q. We divide “Q” in sub-paths according to segmentation rules, which define the appropriate segmentation points in “G”. The sub-paths of “Q” and the predicates are used as input for the MXPath to SQL conversion algorithm. 23
  • 24. MXPath to SQL conversion algorithm (2/4) MXPath example: branch /book[authors[author=“Brian W.K.”]] /cover[ec()=“ed=gr”]/->material Query in English: Find the (multidimensional) sub- element material of element cover of the greek edition of the book which has an author named “Brian W.K.”. Notice that the predicate Result [authors[author=“Brian W.K.”]] is a branch. 24
  • 25. MXPath to SQL conversion algorithm (3/4) Multidimensional MXPath query “Q”: Tree Pattern /book[authors[author=“Brian W.K.”]] book(M) /cover[ec()=“ed=gr”]/->material book authors(M) authors author(M) author “Brian W.K.” cover(M) Segmentation (Q): Sub_Path_1: #/book Segmentation Predicate_1: [authors[author=“Brian W.K.”]] branch ( authors[author=“Brian W.K.”] ): cover[ec()=“ed=gr”] Sub_Path_2: #/book#/cover Sub_Path_1: #/book#/authors#/author Sub_Path_3: #/book#/cover#/->material Value_1=“Brian W.K.” material(M) 25
  • 26. MXPath to SQL conversion algorithm (4/4) MXPath: /book[authors[author=“Brian W.K.”]]/cover[ec()=“ed=gr”]/->material SQL: (Select a1.node_id AS a_id From Element_Table a1, Path_Table p1, Select a3.node_id Value_Table v1 From Element_Table a1, Element_Table a2, Where p1.path Like '#/book#/authors#/author' and Element_Table a3, Path_Table p1, a1.path_id = p1.path_id and Path_Table p2, Path_Table p3, v1.path_id = p1.path_id and EC_Table ec1 v1.value = 'Brian W.K.' and Where p1.path Like '#/book' and v1.node_id Like CONCAT(a1.node_id,'%') a1.path_id = p1.path_id and ) AS T a1.node_id = ANY ( ) and Select SUBSTRING_INDEX(a_id,'.', 2) a2.node_id Like CONCAT(a1.node_id,'%') and From p2.path Like '#/book#/cover' and a2.path_id = p2.path_id and a2.node_id = ec1.node_id and ec1.world_vector LIKE '000111' and a3.node_id Like CONCAT(a2.node_id,'%') and p3.path Like '#/book#/cover#/->material' and a3.path_id = p3.path_id 26
  • 27. Summary MXML Storing MXML in Relational DB & Context Representation (path-based approach) MXML querying using MXPath Converting MXPath queries to SQL queries Future work Conversion Algorithm implementation and evaluation Further optimization of the relational schema 27
  • 28. References 1. N. Fousteris, Y. Stavrakas, and M. Gergatsoulis. Multidimensional XPath. In Proc. of iiWAS 2008 , pp. 162-169. ACM, 2008 . 2. M. Gergatsoulis, Y. Stavrakas, and D. Karteris. Incorporating Dimensions in XML and DTD. In Database and Expert Systems Applications, 12th International Conference, DEXA 2001 Munich, Germany, September 3-5, 2001, Proceedings, volume 2113 of Lecture Notes in Computer Science, pp. 646- 656. Springer, 2001. 3. M. Yoshikawa, T. Amagasa, T. Shimura, and S. Uemura. XRel: a path-based approach to storage and retrieval of XML documents using relational databases. ACM Transactions on Internet Technology, 1(1):110-141, 2001. 28