+ All Categories
Home > Data & Analytics > Linked data parliamo di semantica del web - v0

Linked data parliamo di semantica del web - v0

Date post: 20-Mar-2017
Category:
Upload: riccardo-grosso
View: 436 times
Download: 8 times
Share this document with a friend
107
Linked Data - Parliamo di semantica del web Sottotitolo: Metodi e strumenti per hackerare metadati e strutture dati delle p.a., e derivarne le ontologie Riassumo i miei precedenti lavori, svolti per alcune p.a., nella prossima slide La presentazione e le possibilita’ di esercizio si suddividono in 2 parti: Esperienze sulle strutture dei database (metadati di tavole e campi, constraints, etc.) Esperienze sul catalogo agid 1
Transcript
Page 1: Linked data   parliamo di semantica del web - v0

Linked Data - Parliamo di semantica del web

• Sottotitolo: Metodi e strumenti per hackerare metadati e strutture dati delle p.a., e derivarne le ontologie

• Riassumo i miei precedenti lavori, svolti per alcune p.a., nella prossima slide

• La presentazione e le possibilita’ di esercizio si suddividono in 2 parti:– Esperienze sulle strutture dei database (metadati

di tavole e campi, constraints, etc.)– Esperienze sul catalogo agid

1

Page 2: Linked data   parliamo di semantica del web - v0

LM

Insert name and descr.of tables & columns.Infer physical constraints

Tag metadata by likenessof entity-names inside in

names and descr. of tables & columns

Integrated &abstractedE-R schemarepository

LD«Universe»(metadata)

Linked Data(ddl.sql/RDF/OWL)

Infer verticalAbstraction level

Entity-ierarchytaxonomy

ReuseRelationships

LMO…

From LD (Linked Data) to LMO (Linked Metadata & Ontologies)

Page 3: Linked data   parliamo di semantica del web - v0

Cosa potremo fare con le basi dati

• Spiegazione dei metodi• Esemplificazioni fatte sui tools. I tools che io

utilizzo sono oggetti abbastanza legacy, con tecnologie non piu' adeguate (access, visual basic). Puo' essere interessante impegnare le persone su alcune parti dei miei lavori, ad esempio:– provare ad ottenere gli owl partendo dai file

testuali ottenuti dalle inferenze– disegnare le owl

3

Page 4: Linked data   parliamo di semantica del web - v0

Cosa potremo fare con il catalogo agid

• fare ricerche con il bot telegram geontologie• soffermarsi sulla visualizzazione topografica (dove

risiedono geograficamente le entita')• fare query sul file ipaentitiesgeo usato dal bot, che

contiene i metadati delle ipa.

Pero' ritengo sia importante che io spieghi le cose che ho fatto ad una platea ideale che possa, un domani, hackerare altre p.a., avendo metodi di riferimento e implementandoli magari con tecnologie piu' attuali

4

Page 5: Linked data   parliamo di semantica del web - v0

Basi dati: in principio fu il repository fisico

• https://drive.google.com/file/d/0B9eWAzJTqlgUcm9YZ1VCVUZGYUk/view

• Raccolta di metadati e strutture delle basi dati, il tutto ottenuto con strumenti di reverse engineering come erwin

• Se richiesta, e’ possibile fare una demo del repository, scaricandolo dal link sopra

5

Page 6: Linked data   parliamo di semantica del web - v0

Repository fisico

6

Page 7: Linked data   parliamo di semantica del web - v0

Repository fisico

7

Page 8: Linked data   parliamo di semantica del web - v0

Repository fisico

8

Page 9: Linked data   parliamo di semantica del web - v0

Repository fisico

9

Page 10: Linked data   parliamo di semantica del web - v0

Repository fisico

10

Page 11: Linked data   parliamo di semantica del web - v0

Repository fisico

11

Page 12: Linked data   parliamo di semantica del web - v0

Repository fisico

12

Page 13: Linked data   parliamo di semantica del web - v0

Repository fisico

13

Page 14: Linked data   parliamo di semantica del web - v0

Repository fisico

14

Page 15: Linked data   parliamo di semantica del web - v0

Repository fisico

15

Page 16: Linked data   parliamo di semantica del web - v0

Repository fisico

16

Page 17: Linked data   parliamo di semantica del web - v0

Repository fisico

17

Page 18: Linked data   parliamo di semantica del web - v0

Repository fisico

18

Page 19: Linked data   parliamo di semantica del web - v0

Repository fisico

19

Page 20: Linked data   parliamo di semantica del web - v0

Repository fisico

20

Page 21: Linked data   parliamo di semantica del web - v0

Repository fisico (rdbTOonto)

21

Page 22: Linked data   parliamo di semantica del web - v0

Repository fisico (creare modello)

22

Page 23: Linked data   parliamo di semantica del web - v0

Repository fisico

23

Page 24: Linked data   parliamo di semantica del web - v0

Repository fisico

24

Page 25: Linked data   parliamo di semantica del web - v0

Repository fisico

25

Page 26: Linked data   parliamo di semantica del web - v0

Repository fisico

26

Page 27: Linked data   parliamo di semantica del web - v0

Repository fisico

27

Page 28: Linked data   parliamo di semantica del web - v0

Repository fisico

28

Page 29: Linked data   parliamo di semantica del web - v0

Repository fisico

29

Page 30: Linked data   parliamo di semantica del web - v0

Repository fisico

30

Page 31: Linked data   parliamo di semantica del web - v0

Repository fisico

31

Page 32: Linked data   parliamo di semantica del web - v0

Necessita’ di un repository logico

• Nel repository fisico inseriamo i metadati, le loro descrizioni e le strutture dati, corredate di constraints. Lo facciamo con tools come erwin. Possiamo gia’, con tools come rdbtoonto, reversare db relazionali (dati e metadati) e convertirli in formati ontologici quali RDF, anche partendo da csv/xls. E’ gia’ molto, ma non basta. I concetti, le entita’, sono chiamate in svariati nomi di tabelle fisiche. Gli attributi concettuali sono chiamati in svariati modi fisici. Servono metodi e tools per scovare la conoscenza e metterla a fattor comune.

32

Page 33: Linked data   parliamo di semantica del web - v0

33

Le attivita’ di recupero e integrazione della

conoscenza concettuale sui dati PAAzioni di medio termine

Prof. Carlo BatiniUniversita’ Bicocca - Milano

Page 34: Linked data   parliamo di semantica del web - v0

34

L’informazione negli schemi e’ nascosta ……• DATA DIVISION.• WORKING-STORAGE SECTION.• 01 PERSONA.• 05 UOMo.• 10 COD-UOMO PIC X(5).• 10 DESC-UOMO PIC X(80).• 05 DONNA REDEFINES UOMO.• 10 TIPO-RECORD PIC X.• 10 COD-DONNA PIC 9(5).• 10 DESC-DONNA PIC X(80).• 01 AMMINISTRAZIONE.• 05 REGIONE.• 10 COD-REGIONE PIC X(3).• 10 COD-DUMMY PIC X(6).• 10 DES-REGIONE PIC X(80).• 05 PROVINCIA REDEFINES REGIONE.• 10 COD-REGIONE PIC X(3).• 10 COD-PROVINCIA PIC X(3).• 10 COD-DUMMY2 PIC X(3).• 10 DES-PROVINCIA PIC X(80).• 05 COMUNE REDEFINES REGIONE.• 10 COD-REGIONE PIC X(3).• 10 COD-PROVINCIA PIC X(3).• 10 COD-COMUNE PIC X(3).• 10 DES-COMUNE PIC X(80).• 01 PERSONA-AMMINISTRAZIONE.• 05 LEGAME.• 10 COD-PERSONA PIC X(5).• 10 COD-AMMIN PIC X(3).

Page 35: Linked data   parliamo di semantica del web - v0

35

Gli schemi sono non integrati ed eterogenei

Anagrafe residenti

Anagrafe assistiti

Anagrafe soggettifiscali

Archivio dipendenti

Archivio cacciatori

Persona

Codiceprogres-sivo

Codicefiscale

Codicefiscale Numero

tessera sanitaria

Codiceinterno

Page 36: Linked data   parliamo di semantica del web - v0

36

1. Il modelloIl modello Entita’ Relazione

Page 37: Linked data   parliamo di semantica del web - v0

37

Generalizzazione

Esempio di schema nel modello Entita’ Relazione

PersonaCodice

Cognome

UomoDonna

ComuneCodiceNomenato

ProvinciaCodiceNome

in in

Le persone si dividono in donne e uomini. Le persone sono descritte da codice e cognomeLe persone sono nate in Comuni, i Comuni sono localizzati in Province e le Province in RegioniComuni, Province e Regioni hanno codice e nome

RegioneCodiceNome

Entita’Relazione Attributo

Page 38: Linked data   parliamo di semantica del web - v0

38

Dal Cobol,al modello Entita’ Relazione al linguaggio naturale

PersonaCodice

Cognome

UomoDonna

ComuneCodiceNomenato

ProvinciaCodiceNome

In inRegioneCodiceNome

• DATA DIVISION.• WORKING-STORAGE SECTION.• 01 PERSONA.• 05 UOMo.• 10 COD-UOMO PIC X(5).• 10 DESC-UOMO PIC X(80).• 05 DONNA REDEFINES UOMO.• 10 TIPO-RECORD PIC X.• 10 COD-DONNA PIC 9(5).• 10 DESC-DONNA PIC X(80).• 01 AMMINISTRAZIONE.• 05 REGIONE.• 10 COD-REGIONE PIC X(3).• 10 COD-DUMMY PIC X(6).• 10 DES-REGIONE PIC X(80).• 05 PROVINCIA REDEFINES REGIONE.• 10 COD-REGIONE PIC X(3).• 10 COD-PROVINCIA PIC X(3).• 10 COD-DUMMY2 PIC X(3).• 10 DES-PROVINCIA PIC X(80).• 05 COMUNE REDEFINES

REGIONE.• 10 COD-REGIONE PIC X(3).• 10 COD-PROVINCIA PIC X(3).• 10 COD-COMUNE PIC X(3).• 10 DES-COMUNE PIC X(80).• 01 PERSONA-AMMINISTRAZIONE.• 05 LEGAME.• 10 COD-PERSONA PIC X(5).• 10 COD-AMMIN PIC X(3).

Le persone si dividono in donne e uomini. Le persone sono descritte da codice e cognomeLe persone sono nate in Comuni, i Comuni sono localizzati in Province e le Province in RegioniComuni, Province e Regioni hanno codice e nome

Page 39: Linked data   parliamo di semantica del web - v0

39

Necessita’ di organizzare gli schemi

•Integrazione, per “mettere insieme” e “riconciliare”

•Astrazione, per “capire” e “sintetizzare”

Page 40: Linked data   parliamo di semantica del web - v0

40

Integrazione (linguaggio naturale)

• Schema 1• Lavoratori e loro organizzazioni• Schema 2• Lavoratori, loro citta’ di nascita e relativa area regionale• Schema 3• Organizzazioni e regioni dove sono localizzate

•Lavoratori, loro citta’ di nascita e relativa regione•Lavoratori e loro organizzazioni, e, delle organizzazioni, •regioni dove sono localizzate

Page 41: Linked data   parliamo di semantica del web - v0

41

L’integrazione: modello Entita’ Relazione

Lavoratore Citta’ Regione

Organizzazione

lavora

nato

in

in

Lavoratore

Organizzazione

Lavoratore Citta’ RegioneArea

Organizzazione

in

in

lavoranato

Page 42: Linked data   parliamo di semantica del web - v0

42

L’astrazione (linguaggio naturale)

•Lavoratori, loro citta’ di nascita e relativa regione•Lavoratori e loro organizzazioni, e delle organizzazioni •Regioni dove sono localizzate

•Lavoratori, organizzazioni dove lavorano e riferimenti •geografici di nascita e di localizzazione.

Page 43: Linked data   parliamo di semantica del web - v0

43

L’astrazione: modello Entita’ Relazione

Lavoratore Riferimentogeografico

Organizzazione

lavora

in

nato

Lavoratore Citta’ Regione

Organizzazione

lavora

in

nato in

Page 44: Linked data   parliamo di semantica del web - v0

44

Se le usiamo insieme: integrazione + astrazione

Lavoratore

Organizzazione

Lavoratore Citta’ Regione

Area

Organizzazione

lavora

nato in in

IntegrazioneLavoratore Citta’ Regione

Organizzazione

in

in

in

nato

Lavoratore Riferimentogeografico

Organizzazione

Astrazione

in

in

nato

Page 45: Linked data   parliamo di semantica del web - v0

45

La struttura di integrazione - astrazione

Integrazione –Astrazione

Lavoratore Riferimentogeografico

Organizzazione

nato

in

lavora

Lavoratore

Organizzazione

Lavoratore Citta’ Regione

Regione

Organizzazione

lavorain innato

Page 46: Linked data   parliamo di semantica del web - v0

46

Le abbiamo usate iterativamente …… ottenendo il repository

Previdenza Giustizia Ambiente Salute

Page 47: Linked data   parliamo di semantica del web - v0

47

Schemi base e schemi astratti

Schemi astratti

Schemi base

Page 48: Linked data   parliamo di semantica del web - v0

48

… Facendo cio’ con basso utilizzo di risorse • Se procediamo con una metodologia

tradizionale di reverse engineering sui 500 schemi PAP, assumendo due settimane persona a schema, si ha:– Risorse con procedura tradizionale = 0,5

mesi persona * 500 = 25 anni persona• Dovevamo inventarci una metodologia

approssimata che ci permetta di ridurre l’uso delle risorse di un ordine di grandezza

Page 49: Linked data   parliamo di semantica del web - v0

49

Repository PAC – struttura completa

TRASPORTI COMUNICAZIONIPRODUZIONELAVOROCULTURAEDILIZIA

AMBIENTEISTRUZIONESANITA'SICUREZZA GIUSTIZIADIFESAAFFARI ESTERI

ASSICURAZIO- NE SOCIALE

CERTIFICA-

SCHEMA INTEGRATO DELLE BASI DI DATI DELLA PA DI 1° LIVELLO

SCHEMA INTEGRATO DELLE BASI DI DATI DELLA PA DI 2° LIVELLO

SCHEMA INTEGRATO DELLE BASI DI DATI DELLA PA DI 3° LIVELLO

SERVIZI

SERVIZI GENERALI SERVIZI DIRETTISERVIZI SOCIALI ED ECONOMICI

CA

TAST

O

PREV

IDEN

ZA

RE

LAZI

ON

I EST

ERE

IN IT

ALI

A

REL

AZI

ON

I ITA

LIA

NE

ALL

' EST

ERO

ATT

IVIT

A' G

IUR

IDIC

A

CR

IMIN

ALI

TA'

SIC

UR

EZZA

INTE

RN

A

ASS

IST

ENZA

SER

VIZ

IO S

AN

ITA

RIO

ISTR

UZI

ON

E

AM

BIE

NTE

BEN

I CU

LTU

RA

LI

LAV

OR

O

AZI

END

E A

GR

ICO

LE

AZI

EN

DE

IND

UST

RA

LI

TRA

SPO

RTI

SERVIZI SOCIALI SERVIZI ECONOMICI

TRA

SFER

IMEN

TO F

ON

DI

A E

NTI

LO

CA

LI P

ER E

NTI

PU

IBB

LIC

I

CA

PITO

LI D

I SPE

SA

STATISTICARISORSE DI SUPPORTO

RISORSE FINANZIARIE

RISORSE STRUMENTALI E IMMOBILIARI

RISORSE UMANE

PRO

TOC

OLL

O

OR

GA

NI C

OLL

EGIA

LI

FISC

O

DO

GA

NE

RISORSE

STR

UM

ENTI

AU

TOM

EZZI

BEN

I IM

MO

BIL

I

DIP

END

ENTI

FOR

MA

ZIO

NE

RA

PPR

ESEN

TAN

ZE

2/93

2/12 8/

293

6/69

3/18

23/

30

2/89

3/59

2/65

37/3

36

3/75

3/66

9/11

8

4/36

6/53 10

/76 6/

76

6/13

0

5/56

6/15

5 3/13

4

8/21

3

10/1

00 9/11

8

3/53

9/11

2 10/1

78

Page 50: Linked data   parliamo di semantica del web - v0

50

Lo schema piu’ astratto

BeneSoggetto

Documento

Unitàorganizzativa

Riferimentoterritoriale

Page 51: Linked data   parliamo di semantica del web - v0

51

In sintesi

Pubblica Amministrazione centrale

Pubblica Amministrazione locale

Rappresentazione concettuale

550 schemi

Rappresentazione logico fisica 18.000 tabelle

Page 52: Linked data   parliamo di semantica del web - v0

52

Schemi descritti nel Repository

Soggetto

Bene Soggetto

Documento

Unitàorganizzativa

Riferimentoterritoriale

S. fisico S. giuridico

Page 53: Linked data   parliamo di semantica del web - v0

53

Soggetto fisico

pensionato

di guerra

invalidità civile

Ricorrente per invalidità civile

casalinga

volontario

studente straniero

con handicap

borsista

candidato

Segretario comunale

assistito

tossicodipendente contribuente

utente anagrafetributaria

Contribuente ufficio iva

appartenente catasto

fisco

scuola

giustizia

affari esteri

lavoro

pensioni

Salute ed assistenza

politica

vita sociale

lavoratore

disoccupato

autonomo dipendente

Alla ricerca di nuova occupazione

Alla ricerca di prima occupazione

detenuto

condannato

in attesa di giudizio

segnalato

Tossicodipendente segnalatostraniero italiano

residente all’estero

Richiedente cittadinanza

Richiedente visto

47

164

91

161

520

162

163MI, MT, MD

363739 38

40

8289

153

MF, MT

35

48

5998

110

165

174

180526

650

MGG, MI,MIBCA , MT, MTN

MI, MS

6

16

63

72

80

600

66

81

99

1827

73590

132

142

MAE, MURST, MPI

MAE, MGG,MI

MAE, MI, MLPS

MI

601

507602

1902

453

54

71

74

88

101

104105

160

171 603

653

654

663

5292

111170

7

910

1112

20 24 25

4551

5564

65

68

87

93 9697

108 120

131137

173

501

506515516

651

19

86 136

172

531

656

MAE, MF, MGG, MI,

MIBCA, MLP, MLPS, MT,MTN, MCE,MD, MURST

21

109

Schemi base e Gerachie di generalizzazioneCaso Soggetto fisico

Page 54: Linked data   parliamo di semantica del web - v0

54

La gerarchia di soggetto–soggetto fisico

•Lavoro•lavoratore

–lavoratore autonomo–dipendente pubblico

•disoccupato•……

–soggetto giuridico•impresa•istituzione p.a.•Istituzione sociale privata•……

Page 55: Linked data   parliamo di semantica del web - v0

55

Utlizzeremo percio’ una conoscenza piu’ sintetica: le gerarchie di generalizzazione

Schemi logici

Schemi concettuali

Pubblica AmministrazioneLocale

Pubblica Amministrazione Centrale

Gerarchie diGeneralizzazione:-Cittadino-Impresa-Organizzazione-Documento-Luogo-Bene

Page 56: Linked data   parliamo di semantica del web - v0

56

Sintesi della metodologia

• Scopo della metodologia: semplificare il compito del referente dati, utilizzando il piu’ possibile strumenti automatici, a costo di una certa approssimazione nelle scelte.

• Assunzione: ad un certo livello di astrazione gli schemi della PAL Piemontese sono “simili” a quelli della PA Centrale. Si differenziano nei livelli di astrazione piu’ bassi.

Page 57: Linked data   parliamo di semantica del web - v0

57

Le fasi della metodologia

Fase automatica

Schemascheletro

Schemafinale

Fasemanuale

Referente dati competentesul dominio

Page 58: Linked data   parliamo di semantica del web - v0

Fase automatica: generazione entita’• 1-GENERAZIONE ENTITA'

input:a) le entita' delle ontologieb) le tavole della base dati

output:x) le tavole "pescate" dall'algoritmoy) le entita' delle ontologie corrispondenti alle tavole pescate in x

   ALGORITMO:         - PER OGNI ENTITA' DELLE ONTOLOGIE (LOOP)               - PER OGNI TAVOLA DELLA BASE DATI                     - SE C'E' ALMENO 1 ATTRIBUTO DELLA TAVOLA CHE SIA"SOMIGLIANTE"  AL NOME DELL'ENTITA' DELL'ONTOLOGIA                                       - SCELGO L'ENTITA'                     - ENDIF               - END LOOP         - END LOOP

   SOMIGLIANTE = LIKE "STRINGA" IN NOME E/O DESCRIZIONE ATTRIBUTO

Page 59: Linked data   parliamo di semantica del web - v0

Passo 1: Generazione entita’

…..Attributi eTabelle

Gerarchie

E1

PA Piemontese

PA Centrale

Page 60: Linked data   parliamo di semantica del web - v0

Generazione entita’Ricerca per somiglianza

…..

Attributi eTabelle degliSchemi logici

Gerarchie

E1

PA Piemontese

PA Centrale

Page 61: Linked data   parliamo di semantica del web - v0

Generazione entita’passo finale

E1

E2

E3

Attributi eTabelle

E1

E2

E3

…..

PA Centrale

PA Piemontese

Page 62: Linked data   parliamo di semantica del web - v0

Generazione generalizzazioni• 2-GENERAZIONE GENERALIZZAZIONI

input:a) le entita'  trovate in generazione entita'b) le tavole  trovate in generazione entita'

output:x) le generalizzazioni delle entita'y) le generalizzazioni delle tavole

algoritmo:- osservando le generalizzazioni complete delle entita' delle ontologie,riporto quelle presenti nelle entita' selezionate in generazione entita'- per analogia, le tavole corrispondenti alle entita' "sposano" le medesimegeneralizzazioniCon un esempio astratto, se ho una ontologia completaA      B            C            D      E

Page 63: Linked data   parliamo di semantica del web - v0

Generazione generalizzazioni

• se precedentemente ho selezionato A, B, D le generalizzazioni trovatesarannoA      B            D

Se avevamo corrispondenza tra A e TAV1, B e TAV2, D e TAV4, avremo lagerarchia di generalizzazione tavole:TAV1      TAV2            TAV4

Page 64: Linked data   parliamo di semantica del web - v0

Generazione relazioni• 3-GENERAZIONE RELAZIONI

input:a) le entita' selezionate ai passi precedenti

output:x) le relazioni tra le entita' selezionate

algoritmo:- per ogni entita' delle ontolologie selezionata (loop)      - cerco nei 500 schemi le entita' (dei 500 schemi)      - con riferimento all'esempio astratto di cui sopra avremo adesempio:            per A: A1,A2,...AN            per B: B1,B2,..BN            per C: C1,C2,...CN            per D: D1,D2,...DN            per E: E1,E2,...EN

Page 65: Linked data   parliamo di semantica del web - v0

Generazione relazioni•       - supponiamo di trovare

            A1-B4 (A-B)            A7-B5 (A-B)            B3-D9 (B-D)            C8-C4 (C-C)            C6-D2 (C-D)            C1-E8 (C-E)      - in casi di molteplicita' scelgo 1 sola relazione, piu' o menoarbitrariamente...      - nell'esempio scegliero':            A-B (una delle 2 relazioni trovate)            B-D            C-D            C-E            non scelgo ma potrei farlo C-C      - il cammino relazionale selezionato sara' A-B-D-C-E

Page 66: Linked data   parliamo di semantica del web - v0

Generazione attributi• 4-GENERAZIONE ATTRIBUTI

input:a) le entita' selezionate in passo 1b) le tavole selezionate in passo 1c) gli attributi delle tavole selezionate in passo 1 (vedasi algoritmo delpasso 1)

output:x) per ciascuna entita' i suoi attributi

algoritmo:importo IN ciascuna entita' gli attributi delle tavole corrispondentiCon il solito esempio, se avevamoA corrisponde a TAV1 (CAMPO1, CAMPO2)B corrisponde a TAV2 (CAMPO3, CAMPO4)D corrisponde a TAV4 (CAMPO5, CAMPO6)l'output sara'A  (CAMPO1, CAMPO2)B  (CAMPO3, CAMPO4)D  (CAMPO5, CAMPO6)

Page 67: Linked data   parliamo di semantica del web - v0

Infer constraints• 5-GENERAZIONE RELAZIONI (PASSO ADDITIVO FATTO SUI CONSTRAINTS

FISICI)input:a) le tavole pescate al punto 1 di generazione entita'output:x) le tavole selezionate unite dagli eventuali constraints, piu' eventualitavole che si frappongono per costituire il cammino dei constraintsalgoritmo:- con un tool (generalmente erwin) si effettuano sulla base dati operazionidi "infer relationship" considerando:      - chiavi primarie e chiavi straniere esistenti      - indici univoci      - somiglianza di nomi campi- si derivano i constraints (relazioni fisiche)Con un esempio, se avevamo individuato precedentemente le tavole TAV1, TAV2e TAV4, il cammino relazionale fisico ottenuto dai constraints potrebbeessere:      TAV1-tav5-TAV4-TAV2 (tav5 viene introdotto perche' necessaria alcammino per unire TAV1 e TAV4)

Page 68: Linked data   parliamo di semantica del web - v0

Verifica col referente dati

• 6-VERIFICA CON REFERENTE DATI

input:a) tutto il materiale prodotto nei passi precedentib) le indicazioni del referente dati che in generale saranno di 2 tipi:      - mi aspettavo venisse pescata ANCHE questa tavola      - NON mi aspettavo venisse pescata quest'altra tavola

output:x) il modello dati con i concetti in piu' e/o in meno verificati colreferente dati

algoritmo:- per ogni entita' pescata impropriamente, la rimuovo (il criterio disomiglianza spara nel mucchio)- per ogni entita' mancante, la aggiungo con la consulenza del referentedati, corredandola di attributi e relazioni

Page 69: Linked data   parliamo di semantica del web - v0

69

Esempio simbolico

Schema “automatico”

Schema dopo verifica referente

Page 70: Linked data   parliamo di semantica del web - v0

70

Scopi della sperimentazione

• Validare la metodologia–Verificare la sua efficienza–Verificare la sua precisione–Valutare l’ efficacia

Page 71: Linked data   parliamo di semantica del web - v0

71

Efficienza

Page 72: Linked data   parliamo di semantica del web - v0

72

Risultati sulla efficienza: schemi baseCosto fisso: corso di 3 giorni/persona Costo variabile per schema: 2 giorni/

persona:- 30% per parte automatica– 70% per parte con referente

• A tendere: 1 giorno/persona• Rispetto ai 10 giorni per reverse

engineering

Page 73: Linked data   parliamo di semantica del web - v0

73

Precisione • Due metriche:• Correttezza rispetto allo schema “vero”,

cioe’ ottenuto dal referente con reverse. – Misurata in modo approssimato come % di

oggetti introdotti/cancellati dal referente rispetto agli oggetti prodotti nei passi automatici

• Completezza rispetto allo schema “vero”– Misurata come % di tavole “catturate” rispetto

al totale, escludendo tavole di tipo operativo

Page 74: Linked data   parliamo di semantica del web - v0

74

Risultati sulla precisione• Correttezza 80 %

– 30% di oggetti nel passo 4. relazioni da vincoli

• Completezza 50% delle tavole “catturate”– Causa: alcune gerarchie utilizzate

inizialmente sono povere: le stiamo arricchendo partendo dai feedback del lavoro del referente

Page 75: Linked data   parliamo di semantica del web - v0

Cenni sul tool di inferenza

• Tool realizzato da Manuel Garasi su analisi di Riccardo Grosso, con la supervisione di Carlo Batini

Page 76: Linked data   parliamo di semantica del web - v0
Page 77: Linked data   parliamo di semantica del web - v0

Spiegazioni funzione add entities

• Input file f1– Colonne nomebasedati, nometavola, destavola,

nomecampo, descampo (des= descrizione)• Input file f2

– Codice gerarchia (es. B = Bene) di appartenenza– Livello nella gerarchia– Nome dell’entita’ in gerarchia– Criteri like di ricerca nei metadati

• Per ogni occorrenza di f1– Cerca per somiglianza le entita’ di f2 e salva le

entita’ trovate

Page 78: Linked data   parliamo di semantica del web - v0
Page 79: Linked data   parliamo di semantica del web - v0
Page 80: Linked data   parliamo di semantica del web - v0
Page 81: Linked data   parliamo di semantica del web - v0

Spiegazioni pagina precedente

• Da’ una casa agli attributi• Se aveva pescato l’entita’ a nella tavola t

(nome o des tavola), la tavola t viene considerata come un’istanza dell’entita’ a

• Se aveva pescato l’entita’ a nel campo c di una tavola (nome o des campo), l’entita’ a ospitera’ in casa il campo c che diventa attributo dell’entita’ a

Page 82: Linked data   parliamo di semantica del web - v0
Page 83: Linked data   parliamo di semantica del web - v0

Spiegazioni pagina precedente

• Sfrutta i constraint (relazioni fisiche) presenti tra le tavole pescate, permettendo cosi’ di arricchire la knowledge base con nuovi concetti inferiti dal basso

Page 84: Linked data   parliamo di semantica del web - v0
Page 85: Linked data   parliamo di semantica del web - v0

Spiegazioni pagina precedente

• La funzione sql traduce le entita’, le gerarchie, le relazioni e gli attributi ricostruiti in uno pseudo script ddl-sql e attiva un tool grafico che visualizza il modello ottenuto (erwin)

Page 86: Linked data   parliamo di semantica del web - v0

Piramide concettuale

• Integrazione e astrazione degli schemi base secondo alberi gerarchici a piacere

Page 87: Linked data   parliamo di semantica del web - v0

Lista semilavorati ontologici ad ogni livello

• Generalizzazioni, relazioni e attributi usati poi per ottenere ontologie owl

Page 88: Linked data   parliamo di semantica del web - v0

Criteri di integrazione schemi

• La piramide ha livelli intermedi, e gli schemi intermedi sono ottenuti con algoritmi di somma schemi dei livelli inferiori, con il seguente criterio: se un’entita’ e’ presente in almeno 2 schemi tra quelli da sommare, allora sale al livello superiore, altrimenti rimane al livello inferiore, non fara’ parte dello schema somma

Page 89: Linked data   parliamo di semantica del web - v0

Esercitazione

• Possibilita’ di trasformare in owl i semilavorati testuali ottenuti con il tool di inferenza

• Disegno delle owl ottenute• Scaricare e scompattare la cartella «1i pal p

istituzioni» dal seguente link:• https://drive.google.com/drive/folders/

0B9eWAzJTqlgUeWpxcGZ0M09qTWM • La cartella e’ costituita da 3 sottocartelle:

– DB– SK– SQListituzioni

89

Page 90: Linked data   parliamo di semantica del web - v0

Esercitazione

• La cartella SQL istituzioni in pratica contiene le ontologie ottenute in formato ddl-sql dal tool, e seppur interessanti non le consideriamo per la nostra esercitazione

• La cartella DB contiene, per ogni schema base della p.a. locale trattata, una suite di files nominati DB-nomedb-*.txt

• Per l’esercitazione ci interessano, di ciascuna suite, i files dove * vale:– Generalization– Relations (+constraints ove presenti, opzionale)– Attributes

90

Page 91: Linked data   parliamo di semantica del web - v0

Esercitazione

• Come caso demo, scelgo la seguente suite:– DB-AAEPGestionale-Generalization– DB-AAEPGestionale-Relations– DB-AAEPGestionale-Attributes

• Attivo il web service di CRISTIANO LONGO (GRAZIE!!!):

• http://www.dmi.unict.it/~longo/dbschemaparser/schema_parser_form.html

• Faccio upload dei 3 files e lancio la convert• Copio il testo ottenuto dalla convert e lo

salvo in un file91

Page 92: Linked data   parliamo di semantica del web - v0

Esercitazione

• Lancio il web service che disegna le owl:• http://owlgred.lumii.lv/online_visualization/

wi3p • (se da errore di sintassi provare a togliere gli

attributi, ovvero la parte del file owl che contiene le espressioni uses)

• La cartella SK e’ analoga alla cartella DB, ma contiene le suite relative agli schemi integrati

92

Page 93: Linked data   parliamo di semantica del web - v0

Catalogo agid

• Inferenze sul catalogo basi dati agid

93

Page 94: Linked data   parliamo di semantica del web - v0

Analogie con il catalogo basi dati e applicazioni di AgID

• Il catalogo db e app di AgID (agenzia per l’Italia digitale) e’ una raccolta di metadati di databases e applicazioni usate dalle pubbliche amministrazioni:– http://basidati.agid.gov.it/catalogo/

• Sono metadati testuali, la presenza di entita’ importanti per la p.a. va scovata

• Nei precedenti lavori, scovavo le entita’ cercandole per somiglianza nei nomi e descrizioni di tavole e campi dei db

• Nel catalogo AgID per analogia le scoviamo nei nomi e descrizioni di db e app

94

Page 95: Linked data   parliamo di semantica del web - v0

…continua la precedente

• La finalita’ di questo lavoro e’ di andare a pesca di concetti, usando gerarchie di entita’ e relazioni come fossero canne da pesca

• Inoltre si vuole dare un senso geografico alle pubbliche amministrazioni, quindi sono state mappate le p.a. con openstreetmap partendo dal registro ipa:– http://www.indicepa.it/public-services/opendata-

read-service.php?dstype=FS&filename=amministrazioni.txt

95

Page 96: Linked data   parliamo di semantica del web - v0

…continua la precedente

• Il merge tra il registro ipa mappato e il catalogo AgID ci permette di capire dove fisicamente sono trattate le entita’ della p.a.

• Le quattro gerarchie della p.a. discendono da:– Cosa

• Soggetto• Bene• Documento• Geografia

– Luogo– Territorio– Urbanistica

96

Page 97: Linked data   parliamo di semantica del web - v0

…continua la precedente

• Le relazioni a livello piu’ alto sono di tipo «many to many» tra:– Soggetto e bene– Soggetto e documento– Soggetto e geografia– Bene e documento– Bene e geografia– Documento e geografia

97

Page 98: Linked data   parliamo di semantica del web - v0

…continua la precedente

La ricerca per entita' e' fatta per somiglianza di entita', prese da queste gerarchie di entita': https://www.dropbox.com/s/eodk7k36m6ehn7y/F2indent.txt?dl=0 ; nella pagina successiva un frammento di una gerarchia

Le entita’ sono correlate tra loro a vari livelli di astrazione

Le applicazioni sono considerate attributi dei db, per convenzione

98

Page 99: Linked data   parliamo di semantica del web - v0

Gerarchie di entita’

99

Page 100: Linked data   parliamo di semantica del web - v0

Dalla conoscenza taggata al disegno dei concetti

• Dai semilavorati ottenuti (gerarchie di entita’, relazioni, attributi), l’amico Cristiano Longo ha prodotto un web service che trasforma i semilavorati in ontologie con sintassi OWL. Il tutto descritto in questo articolo e correlati:http://nelfuturo.com/ontologie-dei-servizi-applicativi

• Con un tool free e’ possibile disegnare tali OWL, per dare un senso grafico alle ontologie, e renderle forse piu belle da vedere: http://owlgred.lumii.lv/online_visualization/wi3p

100

Page 101: Linked data   parliamo di semantica del web - v0

Un frammento di ontologia owl disegnata

101

Page 102: Linked data   parliamo di semantica del web - v0

Mapping delle entita’ nelle p.a.

• sono state mappate geograficamente le p.a. taggate , per cui arrivando al singolo nodo di una p.a., nei suoi metadati sono presenti anche le entita’ taggate:

• http://osmele.elilan.com/_ont/ont2.html

102

Page 103: Linked data   parliamo di semantica del web - v0

Entita’ mappate nelle p.a. (ipa)

103

Page 104: Linked data   parliamo di semantica del web - v0

Entita’ geolocalizzate anche su telegram

infine Piersoft ha fatto un bot telegram che visualizza i metadati delle p.a. mappate, tra cui le entita’: https://web.telegram.org/#/im?p=@geontobotPer ricercare le PA, cliccare sulla graffetta (??) e poi 'posizione', oppure digitare il nome del Comune, oppure il nome entita' preceduto dal punto di domanda, ad esempio:?soggetto(link al file usato dal bot: https://www.dropbox.com/s/6i0gp8jw8qnvpvq/ipaEntitiesGeo.csv?dl=0 )

104

Page 105: Linked data   parliamo di semantica del web - v0

Geontologie bot

105

Page 106: Linked data   parliamo di semantica del web - v0

Obiettivi futuri

• Per una pesca piu’ efficace dei concetti, bisognerebbe sperimentare tali metodi e tools in tutte le strutture dati delle pubbliche amministrazioni, aumentando quindi il drill-down a livello di nomi e descrizioni di tavole e campi, e constraints che arricchiscano le relazioni gia’ note

106

Page 107: Linked data   parliamo di semantica del web - v0

Grazie

[email protected]• Qui c’e’ tutto il mio lavoro sulle ontologie di cui mi

occupo da anni• http://nelfuturo.com/autore/Riccardo-Grosso#• Il tutto e’ dettagliatamente spiegato in questi articoli e correlati:

– http://nelfuturo.com/estrazione-e-classificazione-della-conoscenza-dai-metadati#

– http://nelfuturo.com/un-amico-risponde • Skype riccardo.grossohttps://www.facebook.com/riccardo.grosso https://twitter.com/riccardomgrosso https://www.linkedin.com/in/riccardo-grosso-

7939b35?trk=hp-identity-name 107


Recommended