Dynamic Multi-version Ontology-based Personalization

Slides:



Advertisements
Similar presentations
ISDSI 2009 Francesco Guerra– Università di Modena e Reggio Emilia 1 DB unimo Searching for data and services F. Guerra 1, A. Maurino 2, M. Palmonari.
Advertisements

The Volcano/Cascades Query Optimization Framework
S. Sudarshan Based partly on material from Fawzi Emad & Chau-Wen Tseng
Xyleme A Dynamic Warehouse for XML Data of the Web.
Fall 2007CS 2251 Trees Chapter 8. Fall 2007CS 2252 Chapter Objectives To learn how to use a tree to represent a hierarchical organization of information.
Lists A list is a finite, ordered sequence of data items. Two Implementations –Arrays –Linked Lists.
1 abstract containers hierarchical (1 to many) graph (many to many) first ith last sequence/linear (1 to 1) set.
Indexing XML Data Stored in a Relational Database VLDB`2004 Shankar Pal, Istvan Cseri, Gideon Schaller, Oliver Seeliger, Leo Giakoumakis, Vasili Vasili.
More Trees COL 106 Amit Kumar and Shweta Agrawal Most slides courtesy : Douglas Wilhelm Harder, MMath, UWaterloo
An eGovernment system for temporal- and semantic-aware access to norms SWEG 2006 – The Semantic Web meets eGovernment 2006 AAAI Spring Symposium Series,
Algorithms and data structures Protected by
The main mathematical concepts that are used in this research are presented in this section. Definition 1: XML tree is composed of many subtrees of different.
Recent research : Temporal databases N. L. Sarda
Tree (new ADT) Terminology:  A tree is a collection of elements (nodes)  Each node may have 0 or more successors (called children)  How many does a.
Prof. Amr Goneid, AUC1 CSCE 210 Data Structures and Algorithms Prof. Amr Goneid AUC Part 4. Trees.
Semantic Web Techniques for Personalization of eGovernment Services SemWAT st International ER Workshop on Semantic Web Applications: Theory and.
FlexTable: Using a Dynamic Relation Model to Store RDF Data IDS Lab. Seungseok Kang.
CH 7. TREES ACKNOWLEDGEMENT: THESE SLIDES ARE ADAPTED FROM SLIDES PROVIDED WITH DATA STRUCTURES AND ALGORITHMS IN C++, GOODRICH, TAMASSIA AND MOUNT (WILEY.
Session 1 Module 1: Introduction to Data Integrity
Author: Akiyoshi Matonoy, Toshiyuki Amagasay, Masatoshi Yoshikawaz, Shunsuke Uemuray.
1 Trees. 2 Trees Trees. Binary Trees Tree Traversal.
Data Integrity & Indexes / Session 1/ 1 of 37 Session 1 Module 1: Introduction to Data Integrity Module 2: Introduction to Indexes.
Prof. Amr Goneid, AUC1 CSCE 210 Data Structures and Algorithms Prof. Amr Goneid AUC Part 4. Trees.
Mehdi Kargar Department of Computer Science and Engineering
Fabio Grandi, Maria Rita Scalas,
21st International Symposium on Temporal Representation and Reasoning
A Generalized Modeling Framework for Schema Versioning Support
Spatio-Temporal Databases
CSCE 210 Data Structures and Algorithms
Lecture 1 (UNIT -4) TREE SUNIL KUMAR CIT-UPES.
WEBIST 2005 – International Conference on Web Information Systems and Technologies Efficient Management Of Multi-Version XML Documents For E-Government.
Multiway Search Trees Data may not fit into main memory
Light-weight Ontology Versioning with Multi-temporal RDF Schema
Third International Conference on Health Informatics
S. Sudarshan Based partly on material from Fawzi Emad & Chau-Wen Tseng
IADIS International Conference e-Society 2005
Fabio Grandi Alma Mater Studiorum – Università di Bologna
Binary Search Tree (BST)
Temporal Indexing MVBT.
B+-Trees.
Tree.
Binary Trees "A tree may grow a thousand feet tall, but its leaves will return to its roots." -Chinese Proverb.
Section 8.1 Trees.
Data Structures & Algorithm Design
abstract containers sequence/linear (1 to 1) hierarchical (1 to many)
DEXA EGOV 2005 Conference Personalized Access to Multi-version Norm Texts in an eGovernment Scenario Fabio Grandi, Maria Rita Scalas Alma Mater Studiorum.
The Valid Ontology: a simple OWL Temporal Versioning Framework
i206: Lecture 13: Recursion, continued Trees
Binary Trees, Binary Search Trees
CS223 Advanced Data Structures and Algorithms
OrientX: an Integrated, Schema-Based Native XML Database System
Find in a linked list? first last 7  4  3  8 NULL
Spatio-Temporal Databases
Quadtrees 1.
Multi-temporal RDF Ontology Versioning
An eGovernment system for temporal- and semantic-aware access to norms
Indexing and Hashing Basic Concepts Ordered Indices
Week nine-ten: Trees Trees.
ece 627 intelligent web: ontology and beyond
Semantic Web Techniques for Personalization of eGovernment Services
Temporal Databases.
Binary Trees, Binary Search Trees
Effective Representation and Efficient Management of Indeterminate Dates Fabio Grandi University of Bologna, Italy Federica Mandreoli University of.
CS210- Lecture 9 June 20, 2005 Announcements
Chapter 20: Binary Trees.
Fabio Grandi DEIS - Univ. of Bologna, Italy
Binary Trees, Binary Search Trees
Trees.
NATURE VIEW OF A TREE leaves branches root. NATURE VIEW OF A TREE leaves branches root.
Tree (new ADT) Terminology: A tree is a collection of elements (nodes)
Presentation transcript:

Dynamic Multi-version Ontology-based Personalization Second International Workshop on Querying Graph Structured Data – GraphQ 2013 (in conj. with EDBT/ICDT 2013 – Genoa, Italy, March 2013) Dynamic Multi-version Ontology-based Personalization Fabio Grandi Alma Mater Studiorum - Università degli Studi di Bologna

The Research Framework Previous work on ontology-based personalization (joint work with University of Modena and Reggio Emilia) Application fields: e.g., repositories of legal documents in eGovernment or clinical guidelines in the medical domain: large collections of resources with multiple versions temporal versioning is due to changes the resources undergo semantic versioning is due to different applicability contexts Use of a personalization engine for efficient retrieval of resource versions tailored to a specific use case In order to support semantic personalization, resources are indexed wrt to classes of reference domain ontologies GraphQ 2013 - F. Grandi - Dynamic Multi-version Ontology-based Personalization

Semantic Versioning and XML Encoding Applicability is inherited by descendant nodes unless locally redefined By means of redefinitions we can also introduce, for each part of a document, complex applicability properties Extensions with respect to ancestors Restrictions with respect to ancestors GraphQ 2013 - F. Grandi - Dynamic Multi-version Ontology-based Personalization

A Weak Point of Current Research There was a missing tile in the puzzle so far: Maintenance of temporal versions of reference ontologies is also required ? So far, I presented the framework as it was before this work. Actually, we did not consider an important feature: also the ontology used for classification needs temporal versioning. GraphQ 2013 - F. Grandi - Dynamic Multi-version Ontology-based Personalization

Consistent Temporal Perspective When searching for a past version of a resource, the same temporal perspective must be adopted: for the ontology version used for reference for the resource version to be retrieved by the personalization engine Example: one Court has to pass judgment today on a crime committed by a citizen in the past (e.g., in 2010) in order to consider the correct legal framework, the laws of interest are those which where applicable in 2010 to that crime in order to find out the right personalized version of these laws, the citizen must be classified with respect to the ontology which was also valid in 2010 Temporal versioning of the ontology is necessary to enforce a consistent temporal perspective between the classification of the citizen and for the retrieval of a resource version. For example, in order to find out the laws that must be applied to an accused person for a crime committed in 2007, the laws that were applicable to that crime in 2007 must be retrieved and personalized according to the classification of the accused person wrt the ontology version also valid in 2007. GraphQ 2013 - F. Grandi - Dynamic Multi-version Ontology-based Personalization

The Class Ids Problem Moreover, in the current approach, the preorder visit codes are used as identifiers of the ontology classes Semantic indexing of resources is made via direct reference to preorder codes Even if the last version only is maintained, the ontology is subject to change as time goes by Hence, as an ontology change implies the modification of the preorder code of some class (all classes if a new root node is added!), all the resources in the repository may require their semantic annotations to be updated in order to cascade the ontology change effetcs This can be a very expensive operation!! Temporal versioning of the ontology is necessary to enforce a consistent temporal perspective between the classification of the citizen and for the retrieval of a resource version. For example, in order to find out the laws that must be applied to an accused person for a crime committed in 2007, the laws that were applicable to that crime in 2007 must be retrieved and personalized according to the classification of the accused person wrt the ontology version also valid in 2007. GraphQ 2013 - F. Grandi - Dynamic Multi-version Ontology-based Personalization

Overview of the Contribution A storage scheme that allows the representation and management of the evolving structure of a multi-version ontology is introduced (to be used for semantic indexing of resources in a personalization environment) The proposed storage scheme is based on the adoption of a temporal relational database which can be queried with standard SQL The semantics of ontology change operations is defined Mofications required to the personalization engine in the presence of a multi-version ontology are also sketched GraphQ 2013 - F. Grandi - Dynamic Multi-version Ontology-based Personalization

Relational Representation of an Ontology 1,7 Id Pre Post Lev A 1 7 B 2 C 3 4 D E 5 F 6 G 2,1 3,4 6,6 4,2 5,3 7,5 Node identifiers are time-invariant and can be used as references to ontology classes in semantic indexing of resources Pre- and Post-order visit codes can be used for efficiently checking which are the descendants of a node N (Pre>N.Pre & Post<N.Post) Level codes (non strictly necessary) can be used to speed up the execution of personalization queries GraphQ 2013 - F. Grandi - Dynamic Multi-version Ontology-based Personalization

Ontology Change Operations Three base change operations can be defined to manage the evolution of an ontology: Insertion of a leaf node Insertion of an intermediate node Deletion of a node Their semantics will be defined by means of actions on Pre, Post and Lev codes defining the ontology structure Moreover, algorithms will be provided to implement them on top of a temporal relation where all the ontology versions can be stored together (and extracted by means of snapshot queries) GraphQ 2013 - F. Grandi - Dynamic Multi-version Ontology-based Personalization

Insertion of a Leaf Node If Post>=N.Post then Post++ InsertUnder(N) creates a new leaf node as child of N (rightmost child if children already present) N and nodes visited after N in postorder must have Post++ (will be visited after the new node) The new node will be visited in preorder right after all the nodes in the subtree rooted on N, hence nodes visited after N in preorder but not belonging to the subtree must have Pre++ The new node has Pre = (max Pre in the subtree)+1, Post = ex N.Post, Lev = ex N.Lev+1 Post<N.Post & Pre>N.Pre If (Post>=N.Post & Pre>N.Pre) then Pre++ GraphQ 2013 - F. Grandi - Dynamic Multi-version Ontology-based Personalization

Insertion of an Intermediate Node If Pre>=N.Pre then Pre++ InsertOver(N) creates a new node between N and its parent (new root if N was the root) N and nodes visited after N in preorder must have Pre++ (will be visited after the new node and before other descendants of N) Nodes visited after N in postorder must have Post++ (will be visited after the new node) Nodes in the subtree rooted on N must have Lev++ The new node has Pre = ex N.Pre, Post = ex N.Post+1, Lev = ex N.Lev If Post>N.Post then Post++ If (Post<=N.Post & Pre>=N.Pre) then Lev++ GraphQ 2013 - F. Grandi - Dynamic Multi-version Ontology-based Personalization

Deletion of a Node If Pre>N.Pre then Pre-- DeleteNode(N) deletes node N (children of N become children of its parent) Nodes visited after N in preorder must have Pre-- (will be visited one step earlier) Nodes visited after N in postorder must have Post-- (will be visited one step earlier) Nodes in the subtree rooted on N (excluding N which is deleted) must have Lev-- If Post>N.Post then Post-- If (Post<N.Post & Pre>N.Pre) then Lev-- GraphQ 2013 - F. Grandi - Dynamic Multi-version Ontology-based Personalization

A Storage Scheme based on a Temporal Database Representation All the versions of an ontology can be stored together in a single relation of a temporal DB Management of the multi-version ontology can then be effected using standard SQL queries The definition of the ontology change operations can be adapted to work with this storage scheme (details can be found in the paper) GraphQ 2013 - F. Grandi - Dynamic Multi-version Ontology-based Personalization

A Temporal Relation Storing a Multi-version Ontology Id Pre Post Lev From To A 1 7 T0 T1 B 2 UC C 3 4 T2 D E 5 F 6 G 8 H 9 I SELECT * FROM TreeRelation WHERE From<=T1 AND T1<To SELECT * FROM TreeRelation WHERE From<=T2 AND T2<To SELECT * FROM TreeRelation WHERE From<=T0 AND T0<To ontology version V2 valid from T1 to T2 ontology version V1 valid from T0 to T1 ontology version V3 valid from T2 GraphQ 2013 - F. Grandi - Dynamic Multi-version Ontology-based Personalization

Personalization Query Support Cf. an individual instance of C is also an instance of C’s superclasses up to the root; the specification of a limiting scope (depth) avoids the retrieval of too generic resources A personalization query can be expressed in the general XQuery-like form: FOR $x in resources.xml WHERE TEXT_CONSTRAINT($x,CC) AND VALID($x,T) AND APPLICABLE($x,Cx:depth) RETURN $x where Cx:depth is a navigational pattern requiring to retrieve all the resource portions which are applicable to instances of ontology class Cx and of its ancestors up to depth levels The ontology version valid at time T must be used For single-version ontologies, an efficient personalization query processor has been defined and prototyped in previous research GraphQ 2013 - F. Grandi - Dynamic Multi-version Ontology-based Personalization

Personalization Query Processing The personalization engine can make use of the SQL queries: SELECT * INTO CX FROM TreeRelation AS Node WHERE Node.From<=T AND T<=Node.To AND Node.Id=Cx; SELECT * INTO CY FROM TreeRelation AS Node WHERE Node.From<=T AND T<=Node.To AND Node.Pre<CX.Pre AND Node.Post>CX.Post AND CX.Lev-Node.Lev=depth to retrieve the tuples of classes CX and CY, which is the ancestor of CX which can be reached in depth steps from CX, in the ontology version valid at time T Then a resource version qualifies for the query iff its semantic pertinence implies the navigational pattern Cx:depth This implication translates into checking that at least one of the ontology classes indexing the resource is contained in the rectangular region [CY.Pre,CX.Pre]x[CX.Post,CY.Post] of the preorder/postorder plane GraphQ 2013 - F. Grandi - Dynamic Multi-version Ontology-based Personalization

Conclusions and Future Work We presented a multi-version storage scheme based on a temporal relation, which can be used to represent and manage the evolving hierarchical structure of a dynamic ontology High-level update operations have been defined in order to apply ontology changes directly on the proposed temporal relational representation (using standard SQL operations) A method for personalization query processing has been proposed to work in the presence of a multi-version ontology In future work, we will consider the adoption of ad-hoc index structures to improve performance; we will also release the simplification of a tree-like ontology by extending our approach with the GRIPP numbering scheme proposed by Trißl and Leser for general graphs GraphQ 2013 - F. Grandi - Dynamic Multi-version Ontology-based Personalization