Pattern Based Management: Data Models and Architectural Aspects

65
1 Pattern Based Management: Data Models and Architectural Aspects Anna Maddalena Dottorato di Ricerca in Informatica XVIII ciclo Dipartimento di Informatica e Scienza dell’Informazione - Università di Genova -

description

Pattern Based Management: Data Models and Architectural Aspects. Anna Maddalena Dottorato di Ricerca in Informatica XVIII ciclo Dipartimento di Informatica e Scienza dell’Informazione - Università di Genova -. Sommario:. Il contesto Gestione di pattern Il sistema Il modello - PowerPoint PPT Presentation

Transcript of Pattern Based Management: Data Models and Architectural Aspects

Page 1: Pattern Based Management: Data Models and Architectural Aspects

1

Pattern Based Management: Data Models and Architectural Aspects

Anna Maddalena

Dottorato di Ricerca in Informatica

XVIII cicloDipartimento di Informatica e Scienza dell’Informazione

- Università di Genova -

Page 2: Pattern Based Management: Data Models and Architectural Aspects

2

Sommario: Il contesto Gestione di pattern

Il sistema Il modello Il linguaggio Architettura

Obiettivi della tesi Modello Linguaggi Architettura

Scheduling temporale Risultati preliminari

Page 3: Pattern Based Management: Data Models and Architectural Aspects

3

Il contesto

DB1 DB2 Flat file

DBMS

risultatiqueries

Analisi

- Il contesto -

Page 4: Pattern Based Management: Data Models and Architectural Aspects

4

Soluzioni tradizionali

DB1 DB2Flat file

Data Warehouse

Analisi mediante strumenti OLAP

DBMS

risultatiqueries

- Il contesto -

Page 5: Pattern Based Management: Data Models and Architectural Aspects

5

Architettura pattern-based

analisi mediante sofisticati strumenti di processing dei dati

DBMS

risultatiqueries

DB1 DB2Flat file

PBMS

risultatiqueries

Pattern base

- Il contesto -

Page 6: Pattern Based Management: Data Models and Architectural Aspects

6

Dati grezzi e patterns Dati grezzi

Raccolti da diverse sorgenti Enormi volumi di dati Eterogenei

Pattern Rappresentazione dei dati grezzi compatta e

semanticamente ricca

- Il contesto -

Page 7: Pattern Based Management: Data Models and Architectural Aspects

7

Esempi di PATTERN

- Il contesto -

Page 8: Pattern Based Management: Data Models and Architectural Aspects

8

PATTERN: classificazione

Targets

Patterns

A-priori A-posteriori

GenerativiAttiviTest

Vincoli di integrità

Regole attiveworkflow

Tuple con vincoliRegole deduttive

Utilizzo nel pattern matching

Risultati tradizionalidi data mining

Quando/Come?

Cosa?

- Il contesto -

Page 9: Pattern Based Management: Data Models and Architectural Aspects

9

Gestione di pattern

Il sistema di gestione Modello per rappresentare i pattern Linguaggio per manipolare i pattern Supporto architetturale

- Gestione di pattern -

Page 10: Pattern Based Management: Data Models and Architectural Aspects

10

Il sistema di gestione Pattern-Base Management System

(PBMS) è una tecnologia permodellare i pattern come “first class

citizens” interrogare patterngestire i pattern in modo efficientegestire pattern eterogenei in modo

uniforme

- Gestione di pattern -

Page 11: Pattern Based Management: Data Models and Architectural Aspects

11

Il sistema di gestione

- Gestione di pattern -

Raw data

Pattern

Query

Processing

Architettura Integrata

Raw data

Pattern

Cross-over

QueryPQL

Query tradizionali(SQL)

Architettura Separata

Page 12: Pattern Based Management: Data Models and Architectural Aspects

12

Il modello

Rappresentazione uniforme di pattern eterogenei

Caratteristiche patternStrutturaMisure di qualitàPattern complessi

Relazioni tra dati grezzi e patternMappingValidita’

- Gestione di pattern -

Page 13: Pattern Based Management: Data Models and Architectural Aspects

13

Il modello: esempi Regola di associazione: X Y

S(X) = # di transazioni contenenti X

Supporto (X Y) = S(XY)

Confidenza(X Y) = S(XY)/S(X)

- Gestione di pattern -

Datasource

Misure

TestaCorpo

x (x testa x corpo x transazione)

Mapping dati-pattern

RA.testa = rappr.testaMapping dati-pattern

Struttura

DatasourceDeviazioneConfidenzaDeviazioneSupporto

Misure

X: rappr

RA 1RA 2RA 3

...RA K RA 5

RA 6

Cluster

Page 14: Pattern Based Management: Data Models and Architectural Aspects

14

Il modello: approcci esistenti Object Oriented PMML(Predictive Model Markup Language) (2003), SQL/MM

(2001), Java Data Mining API (2003) Rappresentazione di mining model

Common Warehouse Model (2001) Scambio metadati

Database induttivi (1996/1997)

PANDA - PAtterns for Next-generation DAtabase systems (2001-2004) Netta separazione fra PBMS e repository dei dati sorgente Modello rappresenta pattern e relazioni fra pattern

• Pattern: structure, measure, source, expression

• Relazioni: specialization, composition, refinement

- Gestione di pattern -

Page 15: Pattern Based Management: Data Models and Architectural Aspects

15

Il modello: limitazioni Ad esclusione di PANDA, per tutti gli altri approcci si

evidenziano le seguenti criticità: Spesso i dati grezzi e i pattern vengono memorizzati nello stesso

sistema di gestione dati Soluzioni specifiche per determinate tipologie di pattern Nessun mapping fra pattern e dati grezzi da cui sono stati

generati Approccio O.O.

Modellazione dei pattern e modellazione di oggetti generici sono intrinsecamente differenti

– Nuove componenti (measure, expression), – Nuovi requisiti (mapping fra source e pattern spaces), – Nuove relazioni (refinement), – Nuove operazioni (similarità)

- Gestione di pattern -

Page 16: Pattern Based Management: Data Models and Architectural Aspects

16

Il modello: limitazioni PANDA primo modello per pattern eterogenei, ma ...

Sincronizzazione fra pattern e dati grezzi Ontologie sui dati possono influenzare la generazione dei

pattern Possibilità di specificare ontologie sulle componenti dei

pattern

- Gestione di pattern -

Page 17: Pattern Based Management: Data Models and Architectural Aspects

17

I linguaggi

Linguaggio unificato per pattern eterogenei Manipolazione (inserimento, cancellazione,

modifica) Interrogazione (combinazione, sincronizzazione,

verifica validità, similarita’...) Sfruttando appieno il modello

Diverse tipologie di pattern Caratteristiche pattern Relazioni fra pattern Mapping pattern-dati (cross-over)

- Gestione di pattern -

Page 18: Pattern Based Management: Data Models and Architectural Aspects

18

I linguaggi: esempi Derivare con il metodo A-priori le regole di associazione relative

all’insieme di transazioni Q1 Dato un insieme di documenti XML clusterizzarli in base alla similarità

derivata dai loro link usando l’algoritmo di complete-link Da un insieme di clickstream sulla navigazione di un sito Web derivare i

profili utente in base alla durata delle loro sessioni

Interrogare il sistema di gestione di pattern per ritrovare tutti quelli relativi al dataset Q1

Interrogare il sistema di gestione di pattern per estrarre tutte le regole di associazione riguardanti “X”

Ritrovare nel sistema di gestione di pattern tutti i cluster “simili” a C1 Verificare se un dato pattern P è “valido” per un dataset D Derivare per transitività tutti i pattern di tipo regole di associazione

utilizzando i pattern memorizzati nel sistema

- Gestione di pattern -

Page 19: Pattern Based Management: Data Models and Architectural Aspects

19

I linguaggi: approcci esistenti

Proposte: M-SQL (Imielinsky & Virmani, 1999) SQL+Mine (Meo,Psaila & Ceri, 1996) XML+Mine (Braga, Campi, Klemettinen & Lanzi, 2002) Pattern Discovery Algebra (1997) Information Discovery Data Mining Suite (2002) Linguaggi con vincoli (nei database induttivi solo per pattern

di tipo stringa)

Estensioni della sintassi SQL standard

- Gestione di pattern -

Page 20: Pattern Based Management: Data Models and Architectural Aspects

20

I linguaggi:esempio

SQL+Mine (Meo,Psaila & Ceri, 1996) MINE RULE SimpleAssociation AS SELECT DISTINCT 1..n item AS BODY,

1..n item AS HEAD,SUPPORT, CONFIDENCE

FROM PurchaseGROUP BY transactionEXTRACTING RULES with SUPPORT: 0,1, CONFIDENCE 0,2

Solo regole di associazione Algoritmo di mining prefissato Solo estrazione on-the-fly

- Gestione di pattern -

Page 21: Pattern Based Management: Data Models and Architectural Aspects

21

I linguaggi: limitazioni

Mancanza di un linguaggio per la manipolazione e l’interrogazione di pattern eterogenei

Spesso i linguaggi prevedono solo primitive per l’estrazione dei pattern dai dati grezzi

Spesso si usano gli stessi linguaggi di interrogazione sia per pattern che per i dati grezzi

Scarsa integrabilità dei dati grezzi e dei pattern (cross-over queries)

- Gestione di pattern -

Page 22: Pattern Based Management: Data Models and Architectural Aspects

22

Architettura

CentralizzataUnica organizzazioneUnico repository

Distribuita Interazione fra varie organizzazioni Vari repositoryWeb ,P2P, GRID

- Gestione di pattern -

Page 23: Pattern Based Management: Data Models and Architectural Aspects

23

Architettura: pattern nel GRID Architettura GRID

“a flexible, secure, coordinated resource sharing among dynamic collections of individuals, institution, and resources – what we refer to as a Virtual Organizations”

Intelligent GRID: acquisizione, processing, rappresentazione, scambio e

conversione in conoscenza utile di dati eterogenei disponibili a diversi livelli dell’architettura GRID (HTML/XML/RDF doc., Service response time, service quality level, ...)

Knowledge Grid: Knowledge discovery e management distribuito basato su un architettura di servizi GRID (service discovery, negotiation, information extraction, ...)

Semantic GRID: integrazione fra Semantic Web ed ambiente GRID

Metadati & pattern

- Gestione di pattern -

Page 24: Pattern Based Management: Data Models and Architectural Aspects

24

Obiettivi della tesi

Task 1: sviluppo ed estensione di un modello per la rappresentazione dei pattern

Task 2: definizione di linguaggi per la manipolazione di pattern

Task 3: aspetti architetturali e studio dell’estensibilità a contesti distribuiti avanzati (es: GRID)

- Obiettivi della tesi -

Page 25: Pattern Based Management: Data Models and Architectural Aspects

25

Task 1: Modellazione di pattern Definizione del modello

Proposta modello PANDA teoria dei database con vincoli per esprimere alcune

componenti dei pattern Estensione del modello con caratteristiche

avanzate: Aspetti temporali: problematiche di sincronizzazione

• teoria delle basi dati temporali applicata al contesto dei pattern

Gestione delle ontologie: • Ontologie sui dati grezzi• Ontologie sulle componenti dei pattern

- Obiettivi della tesi -

Page 26: Pattern Based Management: Data Models and Architectural Aspects

26

Task 2: Linguaggi per pattern

Definizione Pattern Manipulation Language (PML) Inserimento, cancellazione e modifica di pattern

Definizione Pattern Query Language (PQL): Calcolo (CPQL) Algebra (APQL) Equivalenza fra CPQL e APQL Studio del potere espressivo dei linguaggi proposti

Rappresentazione di PML e PQL con sintassi standard (es: SQL o XML)

- Obiettivi della tesi -

Page 27: Pattern Based Management: Data Models and Architectural Aspects

27

Task 3: Pattern management in un contesto distribuito

Definizione di un’architettura per la gestione dei pattern e dei metadati in un ambiente distribuito (GRID)

Revisione del modello e dei linguaggi proposti nell’ottica distribuita

Implementazione di un prototipo di un sistema distribuito pattern-based

- Obiettivi della tesi -

Page 28: Pattern Based Management: Data Models and Architectural Aspects

28

Tempistica e fasi di progetto

Marzo 2003- Marzo 2006Fasi di progetto:

Marzo 2003 – Dicembre 2003: obiettivi raggiuntiDicembre 2003 - Marzo 2004: obiettivi breve termineMarzo 2004 – Marzo 2005: obiettivi medio termineMarzo 2005 – Marzo 2006: obiettivi lungo termine

- Scheduling Temporale -

Page 29: Pattern Based Management: Data Models and Architectural Aspects

29

Scheduling temporaleTasks

Time

Dec

emb

er 2

003

Mar

ch 2

005

Mar

ch 2

004

Mar

ch 2

006

Mar

ch 2

003

T1

T2

T3

Achieved Short Medium Long

- Scheduling Temporale -

Page 30: Pattern Based Management: Data Models and Architectural Aspects

30

Obiettivi raggiunti (Mar. 2003 - Dic. 2003)

Definizione del modello logico per pattern I.Bartolini et al. “Toward a Logical Model for Patterns”. ER’03 E.Bertino, B.Catania, M. Golfarelli, M. Halkidi, A.Maddalena,

S.Skiadopoulos, S. Rizzi, M.Terrovitis, P. Vassiliadis, M. Varzigiannis, and E.Vrachnos. “The Logical Model for Patterns”. TR-2003-02, PANDA.

Identificazione operazioni significative per PML e PQL, con definizione PML e proposta preliminare di APQL “Toward a Language for Pattern Manipulation and Querying”

E. Bertino, B.Catania, A.Maddalena [sottomesso per pubblicazione]

Page 31: Pattern Based Management: Data Models and Architectural Aspects

31

Obiettivi a breve termine (Dic. 2003 - Mar. 2004) Estensione temporale del modello

Transaction time e validity time Sincronizzazione

Estensione del modello con ontologie Ontologie sui dati grezzi Ontologie che coinvolgono le componenti dei

pattern

Definizione formale CPQL Estensione di un calcolo per oggetti complessi

(Abiteboul&Beeri, Fegaras&Maier) Definizione formale APQL

- Scheduling Temporale -

Page 32: Pattern Based Management: Data Models and Architectural Aspects

32

Obiettivi a medio termine (Mar.2004 – Mar.2005)

Dimostrazione equivalenza APQL e CPQL Analisi di complessità e potere espressivo del

PQL Utilizzo della teoria dei linguaggi con vincoli

Query optimization: strategie di riscrittura La gestione dei pattern in un’architettura

GRID

- Scheduling Temporale -

Page 33: Pattern Based Management: Data Models and Architectural Aspects

33

Obiettivi a lungo termine (Mar.2005 – Mar.2006)

Definizione testbed GRID per la gestione di pattern

Estensione del modello e revisione secondo il contesto GRID

Prototipo Pattern-based GRID Management System (?)

- Scheduling Temporale -

Page 34: Pattern Based Management: Data Models and Architectural Aspects

34

Risultati preliminari

Il modello I linguaggi per pattern

- Risultati preliminari -

Page 35: Pattern Based Management: Data Models and Architectural Aspects

35

Elementi di base

pattern type

class

instance-of

member-of

related-to

pattern layer

supermarket rules

my clusters

class layer

pattern

ass. rule type

cluster typedec. tree type

type layer

- Risultati preliminari -

Page 36: Pattern Based Management: Data Models and Architectural Aspects

36

Pattern types

Basato su un sistema di tipi T: Tipi base:

• integers, reals, Booleans, strings, timestamps Tipi ricorsivamente definiti mediante costruttori di tipo

• list, set, bag, array, tuple

Esempi salary: REAL SET(INTEGER) TUPLE(x: INTEGER, y: INTEGER) personnel: LIST(TUPLE(age: INTEGER, salary: INTEGER))

- Risultati preliminari -

Page 37: Pattern Based Management: Data Models and Architectural Aspects

37

Pattern types

name

structure schema

source schema

formula

pattern type

pattern

class

instance-of

member-of

measure schema

related-to

• definisce il “pattern space”• descrive la struttura dei pattern, istanze del pattern type

• definisce il “source space”• tipo dei dati grezzi da cui i pattern vengono costruiti

Tipo delle misure che quantifi-cano la qualità della rappre-sentazione dei dati sorgenti raggiunta dal pattern

Relazione fra il “source space” e il “pattern space”

- Risultati preliminari -

Page 38: Pattern Based Management: Data Models and Architectural Aspects

38

Pattern types - esempioAssociation rule X Y

S(X) = # of transactions containing X

Support (X Y) = S(XY)

Confidence(X Y) = S(XY)/S(X)

n: AssociationRule

ss: TUPLE(head: SET(STRING), body: SET(STRING))

ds: BAG(transaction: SET(STRING))

ms: TUPLE(confidence: REAL, support: REAL)

f: x (x head x body x transaction)

ss ds

Y X

- Risultati preliminari -

Page 39: Pattern Based Management: Data Models and Architectural Aspects

39

Patterns

name

structure schema

source schema

formula

pattern type

PID

structure

source

measure

expression

pattern

class

instance-of

member-of

measure schema

related-to

- Risultati preliminari -

Page 40: Pattern Based Management: Data Models and Architectural Aspects

40

Patterns - esempion: AssociationRule

ss: TUPLE(head: SET(STRING), body: SET(STRING))

ds: BAG(transaction: SET(STRING))

ms: TUPLE(confidence: REAL, support: REAL)

f: x (x head x body x transaction)

pid: 512

s: (head = {'Boots’}, body = {'Socks', 'Hat’})

d: SELECT SETOF(article) AS transaction

FROM sales GROUP BY transactionId

m: (confidence = 0.75, support = 0.55)

e: {transaction : x (x {'Boots', 'Socks','Hat'} x transaction)}

{'Socks', 'Hat’} {'Boots’}- Risultati preliminari -

Page 41: Pattern Based Management: Data Models and Architectural Aspects

41

backward image type

Pattern Space e Data Spacedata space

pattern space

pattern type

PID

source

structure

expression

pattern

source schema

formula

name

structure schema

dataset

Page 42: Pattern Based Management: Data Models and Architectural Aspects

42

Classi

name

structure schema

source schema

formula

pattern type

PID

structure

source

measure

expression

pattern

name

class

instance-of

member-of

measure schema

related-to

- Risultati preliminari -

Page 43: Pattern Based Management: Data Models and Architectural Aspects

43

Classi - esempio

Pattern type: AssociationRule

Class: SaleRules

Patterns: Association rules 515, 516, 517

Dataset 2:

SELECT SETOF(article) AS transaction

FROM sales_shop2GROUP BY transactionId

Dataset 1:

SELECT SETOF(article) AS transaction

FROM sales_shop1 GROUP BY transactionId

Patterns: Association rules 512, 513, 514Apriori

Apriori

- Risultati preliminari -

Page 44: Pattern Based Management: Data Models and Architectural Aspects

44

Relazioni fra pattern types

Specializzazione (IS-A)

Composizione (PART-OF) & Raffinamento

- Risultati preliminari -

Page 45: Pattern Based Management: Data Models and Architectural Aspects

45

Specializzazione

pattern type 1

pattern type 2

inheritance

Basata sulla gerarchia dei tipi

(subtyping) in T

class 1related-to

related-to

Class 1 può contenere anche istanze del pattern type 2

- Risultati preliminari -

Page 46: Pattern Based Management: Data Models and Architectural Aspects

46

Specializzazione - esempion: AssociationRule

ss: TUPLE(head: SET(), body: SET())

ds: BAG(transaction: SET())

ms: TUPLE(confidence: REAL)

f: x (x head x body x transaction)

n: AssociationRuleOverStrings

ss: TUPLE(head: SET(STRING), body: SET(STRING))

ds: BAG(transaction: SET(STRING))

ms: TUPLE(confidence: REAL,support: REAL)

f: x (x head x body x transaction)

- Risultati preliminari -

Page 47: Pattern Based Management: Data Models and Architectural Aspects

47

Composizione & Raffinamento

pattern type 1

pattern type 2

part-of

Abilità di riferire pattern types nello structure schema

pattern type 1

pattern type 2

refined-by

Abilità di riferire pattern types nello source schema

- Risultati preliminari -

Page 48: Pattern Based Management: Data Models and Architectural Aspects

48

Composizione & Raffinamento: esempio

n: ClusterOfRules

ss: representative: AssociationRule

ds: SET(rule: AssociationRule)

ms: TUPLE(deviationOnConfidence: REAL,

deviationOnSupport: REAL)

f: rule.ss.head = representative.ss.head

composizione

raffinamento

- Risultati preliminari -

Page 49: Pattern Based Management: Data Models and Architectural Aspects

49

Risultati preliminari

Il modello I linguaggi per pattern

- Risultati preliminari -

Page 50: Pattern Based Management: Data Models and Architectural Aspects

50

Linguaggi per pattern

PML(Pattern Manipulation Language) Inserimento, cancellazione, modifica

di pattern PQL (Pattern Query Language)

Ritrovamento ed interrogazione di patternCross-over query: combinano pattern e dati

grezzi

- Risultati preliminari -

Page 51: Pattern Based Management: Data Models and Architectural Aspects

51

PML

Extraction Direct insertion Recomputation Deletion

Restricted Extended

Synchronize Insertion into class Deletion from class

Inserimento

Cancellazione

Modifica

Operazioni su classi

- Risultati preliminari -

Page 52: Pattern Based Management: Data Models and Architectural Aspects

52

Extraction

Direct Insertion

Recomputation

PML: inserimentoMining algorithm

Sorgente dati grezzi

P1

PT1PT2

PT..

C1C2

C..

PT1PT2

PT..

C1C2

C..

P1names

dm

e

PT1PT2

PT..

C1C2

C..P1Sorgente dati grezzi

P2

- Risultati preliminari -

Page 53: Pattern Based Management: Data Models and Architectural Aspects

53

PML: cancellazione Deletion restricted

Deletion extended

P1

PT1PT2

C1C2 C..

P2

P3

PTN

P3P1X

X

P1

PT1 PT2

C1C2

P2P3

PTN

P3P2

P3

P1PT1 PT2

C1C2

P2P3

PTN

P3P2

P3P1

X

OK!

- Risultati preliminari -

P4 P4NO!

X

P1XP2

P3

P4

Page 54: Pattern Based Management: Data Models and Architectural Aspects

54

Sorgente dati grezzi

PML:sincronizzazione

Synchronize

p1sdme

PT1

UPDATE

X m’

- Risultati preliminari -

Page 55: Pattern Based Management: Data Models and Architectural Aspects

55

PML: operazioni su classi Insertion into class

Deletion from class

P1

PT1

PT2

C1C2

P2

PTN

P3

P2

P3

P1

P1

PT1PT2

C1C2

P2

PTN

P3

P2

P3

P1X

- Risultati preliminari -

P4P5

P4P5

Page 56: Pattern Based Management: Data Models and Architectural Aspects

56

PQL Linguaggio chiuso rispetto a classi di pattern Operatori:

Renaming Set-based operators ( , , \) Projection Selection Drill-down Roll-up Decomposition Join

• Natural join

Cross-over operator• Drill-through• Covering - Risultati preliminari -

Page 57: Pattern Based Management: Data Models and Architectural Aspects

57

PQL:projection Solo per componenti “structure” e “measure” “Formula” proiettata sulle componenti rimanenti

(<head>,<support>)(AR1)

...pid: 622

s: (head = {'Boots’})

d: SELECT SETOF(article) AS transaction

FROM sales GROUP BY transactionId

m: (support = 0.55)

e: {transaction : x (x {'Boots'} x transaction)}

...

...

pid: 512

s: (head = {'Boots’}, body = {'Socks', 'Hat’})

d: SELECT SETOF(article) AS transaction

FROM sales GROUP BY transactionId

m: (confidence = 0.75, support = 0.55)

e: {transaction : x (x {'Boots', 'Socks','Hat'} x transaction)}

...

AR1

- Risultati preliminari -

Page 58: Pattern Based Management: Data Models and Architectural Aspects

58

PQL:selection

Predicati di selezione coinvolgono tutte le componenti del pattern

Operatori sui pattern Per struttura e misura:

• Identità (=i)• Shallow (=se) e deep equality (=de)

Per source ed expression:• Equivalenza ()• Contenimento ()

AND, OR, NOT

- Risultati preliminari -

Page 59: Pattern Based Management: Data Models and Architectural Aspects

59

PQL:selection Esempio: ’Boots’ IN s.head AND m.confidence>0.7(AR1)

pid: 512

s: (head = {'Boots’}, body = {'Socks', 'Hat’})

d: SELECT SETOF(article) AS transaction

FROM sales GROUP BY transactionId

m: (confidence = 0.75, support = 0.55)

e: {transaction : x (x {'Boots', 'Socks','Hat'} x transaction)}

pid: 513

s: (head = {'Boots’}, body = {‘Pant’})

d: SELECT SETOF(article) AS transaction

FROM sales GROUP BY transactionId

m: (confidence = 0.60, support = 0.60)

e: {transaction : x (x {'Boots', ‘Pant’} x transaction)}

AR1

pid: 512

s: (head = {'Boots’}, body = {'Socks', 'Hat’})

d: SELECT SETOF(article) AS transaction

FROM sales GROUP BY transactionId

m: (confidence = 0.75, support = 0.55)

e: {transaction : x (x {'Boots', 'Socks','Hat'} x transaction)}

- Risultati preliminari -

Page 60: Pattern Based Management: Data Models and Architectural Aspects

60

PQL:drill-down e roll-up

Navigazione della gerarchia di raffinamento

ClusterOfRules

AssociationRule

refined-byDrill-down Roll-up

A

AR1 ARNAR2

AR3

C

CR1

rule(C) ClusterOfRules(A)

Page 61: Pattern Based Management: Data Models and Architectural Aspects

61

PQL:decomposition

Navigazione della gerarchia di composizione

ClusterOfRules

AssociationRule

part-of

Ca(CR1)...representative: AR1

...

AR1

Page 62: Pattern Based Management: Data Models and Architectural Aspects

62

PQL:join Pattern di classi diverse: C1 e C2 I pattern types devono essere join

compatible Data source compatibility Structure compatibility

Join predicate F: qualunque condizione di selezione definita su una componente di un pattern in C1 e di un pattern in C2

Composition Function: c=(css,cds,cms,cf)

C1 || F,c C2

Page 63: Pattern Based Management: Data Models and Architectural Aspects

64

PQL: join - esempio Proprieta transitiva delle regole di associazione Se “AB” e “B C” sono due regole, allora

“AC” è una regola

C1 || C1.ss.body=C2.ss.head , c C2pid: 512

s: (head = {'Boots’}, body = {'Socks'})

d: Query_1

m: (confidence = 0.75, support = 0.55)

e: {transaction : x (x {'Boots', 'Socks'} x transaction)}

pid: 513

s: (head = {‘Socks’}, body = {‘Hat’})

d: Query_2

m: (confidence = 0.60, support = 0.50)

e: {transaction : x (x {‘Socks', ‘Hat’} x transaction)}

pid: 710

s: (head = {'Boots’}, body = {‘Hat'})

d: Query_1 |X| Query_2

m: (confidence = null, support = null)

e: {transaction : x (x {'Boots', Hat} x transaction)}

- Risultati preliminari -

Page 64: Pattern Based Management: Data Models and Architectural Aspects

65

PQL: cross-over Mettono in relazione pattern e dati grezzi Drill-through: navigazione dal pattern

layer al data layer Input: classeoutput: insieme di dati grezzi

Covering: verifica se un pattern è valido per uno specifico dataset

- Risultati preliminari -

Page 65: Pattern Based Management: Data Models and Architectural Aspects

66

PQL: cross-over Esempi Drill-through

Covering

pids

d:query_1me

A(C)

Query_1

p

DS

(p,d) p

DS

?

- Risultati preliminari -