1 Context-based Exploitation of Data Warehouses Yeow Wei Choong 1, Dominique Laurent 2, Arnaud...

Post on 14-Dec-2015

212 views 0 download

Transcript of 1 Context-based Exploitation of Data Warehouses Yeow Wei Choong 1, Dominique Laurent 2, Arnaud...

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

Elsa.Negre@univ-tours.fr

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