Date post: | 20-Mar-2017 |
Category: |
Data & Analytics |
Upload: | riccardo-grosso |
View: | 436 times |
Download: | 8 times |
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
• [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