Presentation is loading. Please wait.

Presentation is loading. Please wait.

Dynamic Multi-version Ontology-based Personalization

Similar presentations


Presentation on theme: "Dynamic Multi-version Ontology-based Personalization"— Presentation transcript:

1 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

2 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 F. Grandi - Dynamic Multi-version Ontology-based Personalization

3 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 F. Grandi - Dynamic Multi-version Ontology-based Personalization

4 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 F. Grandi - Dynamic Multi-version Ontology-based Personalization

5 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 F. Grandi - Dynamic Multi-version Ontology-based Personalization

6 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 F. Grandi - Dynamic Multi-version Ontology-based Personalization

7 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 F. Grandi - Dynamic Multi-version Ontology-based Personalization

8 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 F. Grandi - Dynamic Multi-version Ontology-based Personalization

9 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 F. Grandi - Dynamic Multi-version Ontology-based Personalization

10 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 F. Grandi - Dynamic Multi-version Ontology-based Personalization

11 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 F. Grandi - Dynamic Multi-version Ontology-based Personalization

12 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 F. Grandi - Dynamic Multi-version Ontology-based Personalization

13 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 F. Grandi - Dynamic Multi-version Ontology-based Personalization

14 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 F. Grandi - Dynamic Multi-version Ontology-based Personalization

15 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 F. Grandi - Dynamic Multi-version Ontology-based Personalization

16 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 F. Grandi - Dynamic Multi-version Ontology-based Personalization

17 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 F. Grandi - Dynamic Multi-version Ontology-based Personalization


Download ppt "Dynamic Multi-version Ontology-based Personalization"

Similar presentations


Ads by Google