Linked data parliamo di semantica del web - v0

Post on 20-Mar-2017

436 views 8 download

transcript

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

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)

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

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

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

Repository fisico

6

Repository fisico

7

Repository fisico

8

Repository fisico

9

Repository fisico

10

Repository fisico

11

Repository fisico

12

Repository fisico

13

Repository fisico

14

Repository fisico

15

Repository fisico

16

Repository fisico

17

Repository fisico

18

Repository fisico

19

Repository fisico

20

Repository fisico (rdbTOonto)

21

Repository fisico (creare modello)

22

Repository fisico

23

Repository fisico

24

Repository fisico

25

Repository fisico

26

Repository fisico

27

Repository fisico

28

Repository fisico

29

Repository fisico

30

Repository fisico

31

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

33

Le attivita’ di recupero e integrazione della

conoscenza concettuale sui dati PAAzioni di medio termine

Prof. Carlo BatiniUniversita’ Bicocca - Milano

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).

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

36

1. Il modelloIl modello Entita’ Relazione

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

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

39

Necessita’ di organizzare gli schemi

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

•Astrazione, per “capire” e “sintetizzare”

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

41

L’integrazione: modello Entita’ Relazione

Lavoratore Citta’ Regione

Organizzazione

lavora

nato

in

in

Lavoratore

Organizzazione

Lavoratore Citta’ RegioneArea

Organizzazione

in

in

lavoranato

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.

43

L’astrazione: modello Entita’ Relazione

Lavoratore Riferimentogeografico

Organizzazione

lavora

in

nato

Lavoratore Citta’ Regione

Organizzazione

lavora

in

nato in

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

45

La struttura di integrazione - astrazione

Integrazione –Astrazione

Lavoratore Riferimentogeografico

Organizzazione

nato

in

lavora

Lavoratore

Organizzazione

Lavoratore Citta’ Regione

Regione

Organizzazione

lavorain innato

46

Le abbiamo usate iterativamente …… ottenendo il repository

Previdenza Giustizia Ambiente Salute

47

Schemi base e schemi astratti

Schemi astratti

Schemi base

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

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

50

Lo schema piu’ astratto

BeneSoggetto

Documento

Unitàorganizzativa

Riferimentoterritoriale

51

In sintesi

Pubblica Amministrazione centrale

Pubblica Amministrazione locale

Rappresentazione concettuale

550 schemi

Rappresentazione logico fisica 18.000 tabelle

52

Schemi descritti nel Repository

Soggetto

Bene Soggetto

Documento

Unitàorganizzativa

Riferimentoterritoriale

S. fisico S. giuridico

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

54

La gerarchia di soggetto–soggetto fisico

•Lavoro•lavoratore

–lavoratore autonomo–dipendente pubblico

•disoccupato•……

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

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

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.

57

Le fasi della metodologia

Fase automatica

Schemascheletro

Schemafinale

Fasemanuale

Referente dati competentesul dominio

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

Passo 1: Generazione entita’

…..Attributi eTabelle

Gerarchie

E1

PA Piemontese

PA Centrale

Generazione entita’Ricerca per somiglianza

…..

Attributi eTabelle degliSchemi logici

Gerarchie

E1

PA Piemontese

PA Centrale

Generazione entita’passo finale

E1

E2

E3

Attributi eTabelle

E1

E2

E3

…..

PA Centrale

PA Piemontese

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

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

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

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

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)

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)

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

69

Esempio simbolico

Schema “automatico”

Schema dopo verifica referente

70

Scopi della sperimentazione

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

71

Efficienza

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

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

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

Cenni sul tool di inferenza

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

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

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

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

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)

Piramide concettuale

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

Lista semilavorati ontologici ad ogni livello

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

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

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

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

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

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

Catalogo agid

• Inferenze sul catalogo basi dati agid

93

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

…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

…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

…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

…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

Gerarchie di entita’

99

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

Un frammento di ontologia owl disegnata

101

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

Entita’ mappate nelle p.a. (ipa)

103

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

Geontologie bot

105

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

Grazie

• Riccardo.maria.grosso@gmail.com• 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