Upload
keith-kirtley
View
212
Download
0
Embed Size (px)
Citation preview
1
Context-based Exploitation of Data Warehouses
Yeow Wei Choong1, Dominique Laurent2, Arnaud Giacometti3, Patrick Marcel3, Elsa Negre3, Nicolas
Spyratos4
1: HELP University College, Kuala Lumpur, Malaysia2: ETIS, Université de Cergy-Pontoise, France
3: LI, Université François-Rabelais de Tours, France4: LRI, Université Paris-Sud, France
2
Outline
1) What is the problem?: Motivations and Intuitions
2) How to deal with the problem?: Our model The Data Level The System Level
3) How to solve the problem?: Exploitation of our model
Conclusion and Future work
3
Motivations and Intuitions (1)
Problem: How to…
Describe/exploit an analysis in an OLAP context:
Launch/browse queries Organize/reuse/share an analysis Discover authorities, frequently asked
queries Provide recommendations to the user
4
Motivations and Intuitions (2)
Motivating example:
2 user-analysts: Elsa Yeow Wei
2 data cubes: Tourism Agriculture
1 base of analyses sessions
5
Motivations and Intuitions (3)
6
Motivations and Intuitions (4)
The Query over the Context Base
7
Motivations and Intuitions (5)
The Navigated Context
8
Motivations and Intuitions (6)
The Edited Context
9
Outline
1) What is the problem?: Motivations and Intuitions
2) How to deal with the problem?: Our model The Data Level The System Level
3) How to solve the problem?: Exploitation of our model
Conclusion and Future work
10
Our Framework
The Data Level: Based on the model proposed by Theodorakis,
Analyti, Constantopoulos, Spyratos (ER’99, IS 2002)
Uses the relational model under the logic programming perspective
The System Level: Specifies how the data can be browsed and
edited
11
Outline
1) What is the problem?: Motivations and Intuitions
2) How to deal with the problem?: Our model The Data Level The System Level
3) How to solve the problem?: Exploitation of our model
Conclusion and Future work
12
The Data Level: Model (1) The relations:
Objects: 3-ary relation objects(oid, a, v) objects(2,’topic’,’Transport,Year’)
Contexts: Binary relation contexts(cid,oid) contexts(1,2)
References: 4-ary relation references(oid1,oid2,a, v) references(2,3,’refines’,’Transport’)
2
3
13
The Data Level: Model (2) The Context Base (CB):
Schema: Objects, contexts, references Instance: Finite set of facts
Querying the CB: DatalogJ under the stratified semantic to express
recursion and relational division
objectscontexts
references
objects_acontexts_a
references_a
14
The Data Level: Language
Example of DatalogJ program: « Objects with topic dealing with Tourism
but not with Borneo»
objects_a(x,’topic’,z) <- objects(x,’topic’,z), substring(z, ‘Tourism’), ¬substring(z, ‘Borneo’)
objects_a(x,s,t) <- objects(x,s,t), objects_a(x,’topic’,z) contexts_a(c,x) <- objects_a(x,s,t), contexts(c,x) references_a(x,x1,y1,z1) <- objects_a(x,s,t),
references(x,x1,y1,z1)
15
Outline
1) What is the problem?: Motivations and Intuitions
2) How to deal with the problem?: Our model The Data Level The System Level
3) How to solve the problem?: Exploitation of our model
Conclusion and Future work
16
The System Level: Model System = <Base, State>
Base = instance of CB State = <P, onav, oed>
17
The System Level: Language (1)
Navigation system operations
Operators to change the navigated object
Operator to change the set of contexts
18
The System Level: Language (2)
Edition system operations
Operators to create a new object
Operators to add a descriptor or a reference
copyObject: Duplicates the navigated object in the edited context
Example
19
The System Level: Language (3)
copyObject
20
Outline
1) What is the problem?: Motivations and Intuitions
2) How to deal with the problem?: Our model The Data Level The System Level
3) How to solve the problem?: Exploitation of our model
Conclusion and Future work
21
Exploitation (1)
Exploiting the descriptors: Descriptors associated with Objects:
Topic added and updated Code by the user
Launched added and updated Browsed by the system Result
22
Exploitation (2)
Exploiting the descriptors: Descriptors associated with Objects:
Example of use:
What queries have been launched more than 10 times:
objects_a(o1,a,v) <- objects(o1,’launched’,x), x>10, objects(o1,a,v)contexts_a(c,o1) <- objects(o1,’launched’,x), x>10, contexts(c,o1)references_a(o1,o2,a,v) <- objects(o1,’launched’,x), x>10,
references(o1,o2,a,v)
23
Exploitation (3)
Exploiting the descriptors: Descriptors associated with
References:
Intra-context references: Order of importance Query containment Query logs
Inter-context references: Comes-from Copied-to
24
Exploitation (4) Exploiting the references:
Authority , Hub, Initiator:
25
Exploitation (5) Recommendations:
The idea: To exploit particular links between queries
Example: What are the recommendations started from o1 ?
o2o1 o3aComes-from
o3b
26
Outline
1) What is the problem?: Motivations and Intuitions
2) How to deal with the problem?: Our model The Data Level The System Level
3) How to solve the problem?: Exploitation of our model
Conclusion and Future work
27
Conclusion and Future work (1)
Conclusion:
A model for OLAP analysis: Sharing Browsing OLAP queries Reusing
Data Level: To organize OLAP queries System Level: To represent the interface
and how the user can interact with the system
28
Future work: Queries as first class citizen
Extending the manipulation language and the navigation language
Consider other recommendations
Implementing our model
Conclusion and Future work (2)
29
Thanks for your attention
30
Exploitation Recommendations:
Example: What are the recommendations started from o1 ?
ans(o2) <- objects(o2,_,_), references(o1,o2,’copied-to’,y)objects_a(o3,a,v) <- ans(o2), references(o2,o3,z,t), objects(o3,a,v)contexts_a(c,o3) <- objects_a(o3,a,v), contexts(c,o3)references_a(o3,o4,w,x) <- objects_a(o3,a,v), objects(o4,_,_), references(o3,o4,w,x)
o2o1 o3aComes-from
o3b