SlideShare uma empresa Scribd logo
1 de 109
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
1
LM
Insert name and descr.
of tables & columns.
Infer physical constraints
Tag metadata by likeness
of entity-names inside in
names and descr. of
tables & columns
Integrated &
abstracted
E-R schema
repository
LD
«Universe»
(metadata)
Linked Data
(ddl.sql/RDF/OWL)
Infer vertical
Abstraction level
Entity-ierarchy
taxonomy
Reuse
Relationships
LMO
…
From LD (Linked Data) to LMO (Linked Metadata & Ontologies)
Cosa faremo
• 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
– fare ricerche con il bot telegram geontologie
3
Cosa faremo
• (continua)
• 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
In principio fu il repository
• https://drive.google.com/file/d/0B9eWAzJTqlg
Ucm9YZ1VCVUZGYUk/view
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. 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 PA
Azioni di medio termine
Prof. Carlo Batini
Universita’ 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 REDEFINESUOMO.
• 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 REDEFINESREGIONE.
• 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 REDEFINESREGIONE.
• 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
soggetti
fiscali
Archivio
dipendenti
Archivio
cacciatori
Persona
Codice
progres-
sivo
Codice
fiscale
Codice
fiscale
Numero
tessera
sanitaria
Codice
interno
36
1. Il modello
Il modello Entita’ Relazione
37
Generalizzazione
Esempio di schema nel modello Entita’ Relazione
Persona
Codice
Cognome
UomoDonna
Comune
Codice
Nomenato
Provincia
Codice
Nome
in in
Le persone si dividono in donne e uomini.
Le persone sono descritte da codice e cognome
Le persone sono nate in Comuni, i Comuni sono
localizzati in Province e le Province in Regioni
Comuni, Province e Regioni hanno codice e nome
Regione
Codice
Nome
Entita’
Relazione
Attributo
38
Dal Cobol,
al modello
Entita’ Relazione
al linguaggio
naturale
Persona
Codice
Cognome
UomoDonna
Comune
Codice
Nomenato
Provincia
Codice
Nome
In in
Regione
Codice
Nome
• 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 cognome
Le persone sono nate in Comuni, i Comuni sono
localizzati in Province e le Province in Regioni
Comuni, Province e Regioni hanno codice e nome
39
Me se io ho tanti schemi concettuali, come faccio a dar loro una
struttura? Non li posso certo integrare in un unico schema….
40
Due strumenti concettuali
• Integrazione, per “mettere
insieme” e “riconciliare”
• Astrazione, per “capire” e
“sintetizzare”
41
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
42
L’integrazione: modello Entita’ Relazione
Lavoratore Citta’ Regione
Organizza
zione
lavora
nato
in
in
Lavoratore
Organizza
zione
Lavoratore Citta’ Regione
Area
Organizza
zione
in
in
lavora
nato
43
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.
44
L’astrazione: modello Entita’ Relazione
Lavoratore
Riferimento
geografico
Organizza
zione
lavora
in
nato
Lavoratore Citta’ Regione
Organizza
zione
lavora
in
nato in
45
Se le usiamo insieme: integrazione + astrazione
Lavoratore
Organizza
zione
Lavoratore Citta’ Regione
Area
Organizza
zione
lavora
nato in in
Integrazione
Lavoratore Citta’ Regione
Organizza
zione
in
in
in
nato
Lavoratore
Riferimento
geografico
Organizza
zione
Astrazione
in
in
nato
46
La struttura
di integrazione - astrazione
Integrazione –
Astrazione
Lavoratore
Riferimento
geografico
Organizza
zione
nato
in
lavora
Lavoratore
Organizza
zione
Lavoratore Citta’ Regione
Regione
Organizza
zione
lavora
in innato
47
Le abbiamo usate iterativamente …… ottenendo il repository
Previdenza Giustizia Ambiente Salute
48
Schemi base e schemi astratti
Schemi astratti
Schemi base
49
… 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
50
Repository PAC – struttura completa
TRASPORTI
COMUNICAZIONIPRODUZIONELAVOROCULTURAEDILIZIA
AMBIENTEISTRUZIONESANITA'SICUREZZAGIUSTIZIADIFESAAFFARI
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 DIRETTI
SERVIZI SOCIALI ED ECONOMICI
CATASTO
PREVIDENZA
RELAZIONIESTEREINITALIA
RELAZIONIITALIANEALL'ESTERO
ATTIVITA'GIURIDICA
CRIMINALITA'
SICUREZZAINTERNA
ASSISTENZA
SERVIZIOSANITARIO
ISTRUZIONE
AMBIENTE
BENICULTURALI
LAVORO
AZIENDEAGRICOLE
AZIENDEINDUSTRALI
TRASPORTI
SERVIZI SOCIALI SERVIZI ECONOMICI
TRASFERIMENTOFONDI
AENTILOCALIPERENTIPUIBBLICI
CAPITOLIDISPESA
STATISTICARISORSE DI
SUPPORTO
RISORSE
FINANZIARIE
RISORSE
STRUMENTALI E
IMMOBILIARI
RISORSE
UMANE
PROTOCOLLO
ORGANICOLLEGIALI
FISCO
DOGANE
RISORSE
STRUMENTI
AUTOMEZZI
BENIIMMOBILI
DIPENDENTI
FORMAZIONE
RAPPRESENTANZE
2/93
2/12
8/293
6/69
3/182
3/30
2/89
3/59
2/65
37/336
3/75
3/66
9/118
4/36
6/53
10/76
6/76
6/130
5/56
6/155
3/134
8/213
10/100
9/118
3/53
9/112
10/178
51
Lo schema piu’ astratto
Bene
Soggetto
Documento
Unità
organizzativa
Riferimento
territoriale
52
In sintesi
Pubblica Amministrazione
centrale
Pubblica Amministrazione
locale
Rappresentazione
concettuale
550 schemi
Rappresentazione
logico fisica
18.000 tabelle
53
Schemi descritti nel Repository
Soggetto
Bene Soggetto
Documento
Unità
organizzativa
Riferimento
territoriale
S. fisico S. giuridico
54
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 anagrafe
tributaria
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
segnalato
straniero italiano
residente
all’estero
Richiedente
cittadinanza
Richiedente
visto
47
164
91
161
520
162
163
MI, MT, MD
3637
39
38
40
82
89
153
MF, MT
35
48
59
98
110
165
174
180
526
650
MGG, MI,
MIBCA ,
MT, MTN
MI, MS
6
16
63
72
80
600
66
81
99
18
27
73
5
90
132
142
MAE, MURST,
MPI
MAE, MGG,
MI
MAE, MI,
MLPS
MI
601
507602
190
2
4
53
54
71
74
88
101
104
105
160
171
603
653
654
663
52
92
111
170
7
9
10
11
12
20 24 25
45
51
55
64
65
68
87
93 96
97
108
120
131
137
173
501
506
515516
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 generalizzazione
Caso Soggetto fisico
55
La gerarchia di soggetto
–soggetto fisico
•Lavoro
•lavoratore
–lavoratore autonomo
–dipendente pubblico
•disoccupato
•……
–soggetto giuridico
•impresa
•istituzione p.a.
•Istituzione sociale privata
•……
56
Utlizzeremo percio’ una conoscenza piu’ sintetica:
le gerarchie di generalizzazione
Schemi
logici
Schemi
concettuali
Pubblica
Amministrazione
Locale
Pubblica Amministrazione Centrale
Gerarchie di
Generalizzazione:
-Cittadino
-Impresa
-Organizzazione
-Documento
-Luogo
-Bene
57
Sintesi della metodologia
• Scopo della metodologia: semplificare il
compito del referente dati, utulizzando 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.
58
Le fasi della metodologia
Fase
automatica
Schema
scheletro
Schema
finale
Fase
manuale
Referente dati
competente
sul dominio
Fase automatica: generazione entita’
• 1-GENERAZIONE ENTITA'
input:
a) le entita' delle ontologie
b) le tavole della base dati
output:
x) le tavole "pescate" dall'algoritmo
y) 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 e
Tabelle
Gerarchie
E1
PA
Piemontese
PA
Centrale
Generazione entita’
Ricerca per somiglianza
…..
Attributi e
Tabelle degli
Schemi logici
Gerarchie
E1
PA
Piemontese
PA
Centrale
Generazione entita’
passo finale
E1
E2
E3
Attributi e
Tabelle
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 medesime
generalizzazioni
Con un esempio astratto, se ho una ontologia completa
A
      B
            C
            D
      E
Generazione generalizzazioni
• se precedentemente ho selezionato A, B, D le
generalizzazioni trovate
saranno
A
      B
            D
Se avevamo corrispondenza tra A e TAV1, B e
TAV2, D e TAV4, avremo la
gerarchia 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 ad
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 meno
arbitrariamente...
      - nell'esempio scegliero':
            A-B (una delle 2 relazioni trovate)
            B-D
Generazione attributi
• 4-GENERAZIONE ATTRIBUTI
input:
a) le entita' selezionate in passo 1
b) le tavole selezionate in passo 1
c) gli attributi delle tavole selezionate in passo 1 (vedasi algoritmo del
passo 1)
output:
x) per ciascuna entita' i suoi attributi
algoritmo:
importo IN ciascuna entita' gli attributi delle tavole corrispondenti
Con il solito esempio, se avevamo
A 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' eventuali
tavole che si frappongono per costituire il cammino dei constraints
algoritmo:
- con un tool (generalmente erwin) si effettuano sulla base dati operazioni
di "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, TAV2
e TAV4, il cammino relazionale fisico ottenuto dai constraints potrebbe
essere:
      TAV1-tav5-TAV4-TAV2 (tav5 viene introdotto perche' necessaria al
cammino per unire TAV1 e TAV4)
Verifica col referente dati
• 6-VERIFICA CON REFERENTE DATI
input:
a) tutto il materiale prodotto nei passi precedenti
b) 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 col
referente dati
70
Esempio simbolico
Schema
“automatico” Schema
dopo verifica referente
71
Scopi della sperimentazione
• Validare la metodologia
– Verificare la sua efficienza
– Verificare la sua precisione
– Valutare l’ efficacia
72
Efficienza
73
Risultati sulla efficienza: schemi base
Costo 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
74
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
75
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
5 passi…
Spiegazioni pagina precedente
• 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
• Output file fa
– Nome entita’ in gerarchia
– Nome tavola pescata con like
– Des tavola pescata
– Nome campo pescato
– Des campo pescato
• Algoritmo:
– Per ogni occorrenza di f1
• Cerca like in occorrenza di f1 tutte le entita’ (di qualsiasi
livello) contenute in f2 (cerca in tutti i nomi e des di tavole e
campi di f1)
• Se like = yes ottieni occorrenza di fa
Spiegazioni pagina precedente
• Per ogni entita’ trovata ricostruisce la gerarchia
che la contiene
• Ad esempio se della gerarchia a-b-c trova solo c,
ricostruisce tutto l’albero per arrivare a c
ovvero a-b-c
• Se trova solo b, recupera a-b
Spiegazioni pagina precedente
• Dal file di input f3, che contiene le relazioni tra
le entita’, deriva le relazioni presenti
nell’inferenza
• Se aveva trovato like le entita’ A e B, e se tra A
e B c’e’ una relazione, la recupera (A.relaziona.B)
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
• L’infer constraint con criterio, considera i
constraints a distanza 1 dalla tavola pescata,
senza criterio considera tutte le distanze, quindi
recupera grappoli di tabelle relazionate a partire
da quella pescata
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
Cliccare si
• 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
Catalogo agid
• Inferenze sul catalogo basi dati agid
95
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 96
…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
97
…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
98
…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
99
…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/F
2indent.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
100
Gerarchie di entita’
101
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_visualizati
on/wi3p
102
Un frammento di ontologia owl disegnata
103
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
104
Entita’ mappate nelle p.a. (ipa)
105
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=@geontobot
Per 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
106
Geontologie bot
107
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
108
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.grosso
https://www.facebook.com/riccardo.grosso
https://twitter.com/riccardomgrosso
https://www.linkedin.com/in/riccardo-grosso-
7939b35?trk=hp-identity-name
109

Mais conteúdo relacionado

Semelhante a Linked data parliamo di semantica del web

SCE2014 - Linked Open Data: come fare, cosa serve
SCE2014 - Linked Open Data: come fare, cosa serve SCE2014 - Linked Open Data: come fare, cosa serve
SCE2014 - Linked Open Data: come fare, cosa serve Diego Valerio Camarda
 
C#, imparare a programmare e sopravvivere
C#, imparare a programmare e sopravvivereC#, imparare a programmare e sopravvivere
C#, imparare a programmare e sopravvivereMatteo Valoriani
 
Basi di dati e gis n
Basi di dati e gis nBasi di dati e gis n
Basi di dati e gis nimartini
 
Lezione 8 - Pratica - Il diagramma E-R
Lezione 8 - Pratica - Il diagramma E-RLezione 8 - Pratica - Il diagramma E-R
Lezione 8 - Pratica - Il diagramma E-RGiuseppe Cramarossa
 
Cap1 2 3_intro_astrazioni
Cap1 2 3_intro_astrazioniCap1 2 3_intro_astrazioni
Cap1 2 3_intro_astrazioniRiccardo Grosso
 
I Graph Database: analisi del comportamento degli utenti
I Graph Database: analisi del comportamento degli utentiI Graph Database: analisi del comportamento degli utenti
I Graph Database: analisi del comportamento degli utentiThinkOpen
 
Esercitazioni Ingegneria 6ed
Esercitazioni Ingegneria 6edEsercitazioni Ingegneria 6ed
Esercitazioni Ingegneria 6edbibliobioing
 
Schema Design
Schema DesignSchema Design
Schema DesignMongoDB
 
Big data e business intelligence
Big data e business intelligenceBig data e business intelligence
Big data e business intelligenceMarco Pozzan
 
Job Finder
Job FinderJob Finder
Job Finderbeppe66
 
Job Finder
Job FinderJob Finder
Job Finderbeppe66
 
Job Finder
Job FinderJob Finder
Job Finderbeppe66
 
webSensitiveSQUARE
webSensitiveSQUAREwebSensitiveSQUARE
webSensitiveSQUAREIN/ARCH
 
M. Scannapieco - Da SDMX a RDF Data Cube Vocabulary: Integrare i Dati Statist...
M. Scannapieco - Da SDMX a RDF Data Cube Vocabulary: Integrare i Dati Statist...M. Scannapieco - Da SDMX a RDF Data Cube Vocabulary: Integrare i Dati Statist...
M. Scannapieco - Da SDMX a RDF Data Cube Vocabulary: Integrare i Dati Statist...Istituto nazionale di statistica
 

Semelhante a Linked data parliamo di semantica del web (20)

SPLOD
SPLODSPLOD
SPLOD
 
SCE2014 - Linked Open Data: come fare, cosa serve
SCE2014 - Linked Open Data: come fare, cosa serve SCE2014 - Linked Open Data: come fare, cosa serve
SCE2014 - Linked Open Data: come fare, cosa serve
 
C#, imparare a programmare e sopravvivere
C#, imparare a programmare e sopravvivereC#, imparare a programmare e sopravvivere
C#, imparare a programmare e sopravvivere
 
Basi di dati e gis n
Basi di dati e gis nBasi di dati e gis n
Basi di dati e gis n
 
Drupal + Apache SOLR
Drupal + Apache SOLRDrupal + Apache SOLR
Drupal + Apache SOLR
 
Lezione 8 - Pratica - Il diagramma E-R
Lezione 8 - Pratica - Il diagramma E-RLezione 8 - Pratica - Il diagramma E-R
Lezione 8 - Pratica - Il diagramma E-R
 
Cap1 2 3_intro_astrazioni
Cap1 2 3_intro_astrazioniCap1 2 3_intro_astrazioni
Cap1 2 3_intro_astrazioni
 
I Graph Database: analisi del comportamento degli utenti
I Graph Database: analisi del comportamento degli utentiI Graph Database: analisi del comportamento degli utenti
I Graph Database: analisi del comportamento degli utenti
 
ORM - Introduzione
ORM - IntroduzioneORM - Introduzione
ORM - Introduzione
 
Esercitazioni Ingegneria 6ed
Esercitazioni Ingegneria 6edEsercitazioni Ingegneria 6ed
Esercitazioni Ingegneria 6ed
 
Schema Design
Schema DesignSchema Design
Schema Design
 
Database relazionali
Database relazionaliDatabase relazionali
Database relazionali
 
Big data e business intelligence
Big data e business intelligenceBig data e business intelligence
Big data e business intelligence
 
3.4 Comprendere i dati: raffinare
3.4 Comprendere i dati: raffinare3.4 Comprendere i dati: raffinare
3.4 Comprendere i dati: raffinare
 
Big data e Business Intelligence | presentazione open day @Fondazione Kennedy...
Big data e Business Intelligence | presentazione open day @Fondazione Kennedy...Big data e Business Intelligence | presentazione open day @Fondazione Kennedy...
Big data e Business Intelligence | presentazione open day @Fondazione Kennedy...
 
Job Finder
Job FinderJob Finder
Job Finder
 
Job Finder
Job FinderJob Finder
Job Finder
 
Job Finder
Job FinderJob Finder
Job Finder
 
webSensitiveSQUARE
webSensitiveSQUAREwebSensitiveSQUARE
webSensitiveSQUARE
 
M. Scannapieco - Da SDMX a RDF Data Cube Vocabulary: Integrare i Dati Statist...
M. Scannapieco - Da SDMX a RDF Data Cube Vocabulary: Integrare i Dati Statist...M. Scannapieco - Da SDMX a RDF Data Cube Vocabulary: Integrare i Dati Statist...
M. Scannapieco - Da SDMX a RDF Data Cube Vocabulary: Integrare i Dati Statist...
 

Mais de Riccardo Grosso

Digital venice rgrosso linked open metadata e ontologie
Digital venice rgrosso linked open metadata e ontologieDigital venice rgrosso linked open metadata e ontologie
Digital venice rgrosso linked open metadata e ontologieRiccardo Grosso
 
Digital venice rgrosso linked open metadata and ontologies
Digital venice rgrosso linked open metadata and ontologiesDigital venice rgrosso linked open metadata and ontologies
Digital venice rgrosso linked open metadata and ontologiesRiccardo Grosso
 
Allegato1 piramide di schemi concettuali pa locale ottenuta in sede di worksh...
Allegato1 piramide di schemi concettuali pa locale ottenuta in sede di worksh...Allegato1 piramide di schemi concettuali pa locale ottenuta in sede di worksh...
Allegato1 piramide di schemi concettuali pa locale ottenuta in sede di worksh...Riccardo Grosso
 
Allegato2 reuse of a repository of conceptual schemas in a large scale projec...
Allegato2 reuse of a repository of conceptual schemas in a large scale projec...Allegato2 reuse of a repository of conceptual schemas in a large scale projec...
Allegato2 reuse of a repository of conceptual schemas in a large scale projec...Riccardo Grosso
 
Cap6 cosa serve_progett_concet_n
Cap6 cosa serve_progett_concet_nCap6 cosa serve_progett_concet_n
Cap6 cosa serve_progett_concet_nRiccardo Grosso
 
Cap5 attiv ricostruz_si_pacp_rg221204
Cap5 attiv ricostruz_si_pacp_rg221204Cap5 attiv ricostruz_si_pacp_rg221204
Cap5 attiv ricostruz_si_pacp_rg221204Riccardo Grosso
 
Cap4 proget concet_cb221204
Cap4 proget concet_cb221204Cap4 proget concet_cb221204
Cap4 proget concet_cb221204Riccardo Grosso
 
2 repository metadati_e_schemi
2 repository metadati_e_schemi2 repository metadati_e_schemi
2 repository metadati_e_schemiRiccardo Grosso
 
Esperimenti di estrazione e correlazione di concetti bis
Esperimenti di estrazione e correlazione di concetti bisEsperimenti di estrazione e correlazione di concetti bis
Esperimenti di estrazione e correlazione di concetti bisRiccardo Grosso
 

Mais de Riccardo Grosso (17)

09 siias2007
09 siias200709 siias2007
09 siias2007
 
Screenshot aria
Screenshot ariaScreenshot aria
Screenshot aria
 
Digital venice rgrosso linked open metadata e ontologie
Digital venice rgrosso linked open metadata e ontologieDigital venice rgrosso linked open metadata e ontologie
Digital venice rgrosso linked open metadata e ontologie
 
Digital venice rgrosso linked open metadata and ontologies
Digital venice rgrosso linked open metadata and ontologiesDigital venice rgrosso linked open metadata and ontologies
Digital venice rgrosso linked open metadata and ontologies
 
5202.8459.file
5202.8459.file5202.8459.file
5202.8459.file
 
Tesi garasi
Tesi garasiTesi garasi
Tesi garasi
 
09 siias2007
09 siias200709 siias2007
09 siias2007
 
Allegato1 piramide di schemi concettuali pa locale ottenuta in sede di worksh...
Allegato1 piramide di schemi concettuali pa locale ottenuta in sede di worksh...Allegato1 piramide di schemi concettuali pa locale ottenuta in sede di worksh...
Allegato1 piramide di schemi concettuali pa locale ottenuta in sede di worksh...
 
Allegato2 reuse of a repository of conceptual schemas in a large scale projec...
Allegato2 reuse of a repository of conceptual schemas in a large scale projec...Allegato2 reuse of a repository of conceptual schemas in a large scale projec...
Allegato2 reuse of a repository of conceptual schemas in a large scale projec...
 
Cap6 cosa serve_progett_concet_n
Cap6 cosa serve_progett_concet_nCap6 cosa serve_progett_concet_n
Cap6 cosa serve_progett_concet_n
 
Cap5 attiv ricostruz_si_pacp_rg221204
Cap5 attiv ricostruz_si_pacp_rg221204Cap5 attiv ricostruz_si_pacp_rg221204
Cap5 attiv ricostruz_si_pacp_rg221204
 
Cap4 proget concet_cb221204
Cap4 proget concet_cb221204Cap4 proget concet_cb221204
Cap4 proget concet_cb221204
 
2 repository metadati_e_schemi
2 repository metadati_e_schemi2 repository metadati_e_schemi
2 repository metadati_e_schemi
 
Screenshot aria
Screenshot ariaScreenshot aria
Screenshot aria
 
Esperimenti di estrazione e correlazione di concetti bis
Esperimenti di estrazione e correlazione di concetti bisEsperimenti di estrazione e correlazione di concetti bis
Esperimenti di estrazione e correlazione di concetti bis
 
Grosso batini
Grosso batiniGrosso batini
Grosso batini
 
Tools grosso
Tools grossoTools grosso
Tools grosso
 

Linked data parliamo di semantica del web

  • 1. 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 1
  • 2. LM Insert name and descr. of tables & columns. Infer physical constraints Tag metadata by likeness of entity-names inside in names and descr. of tables & columns Integrated & abstracted E-R schema repository LD «Universe» (metadata) Linked Data (ddl.sql/RDF/OWL) Infer vertical Abstraction level Entity-ierarchy taxonomy Reuse Relationships LMO … From LD (Linked Data) to LMO (Linked Metadata & Ontologies)
  • 3. Cosa faremo • 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 – fare ricerche con il bot telegram geontologie 3
  • 4. Cosa faremo • (continua) • 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
  • 5. In principio fu il repository • https://drive.google.com/file/d/0B9eWAzJTqlg Ucm9YZ1VCVUZGYUk/view 5
  • 32. 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. 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. 33 Le attivita’ di recupero e integrazione della conoscenza concettuale sui dati PA Azioni di medio termine Prof. Carlo Batini Universita’ Bicocca - Milano
  • 34. 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 REDEFINESUOMO. • 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 REDEFINESREGIONE. • 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 REDEFINESREGIONE. • 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. 35 Gli schemi sono non integrati ed eterogenei Anagrafe residenti Anagrafe assistiti Anagrafe soggetti fiscali Archivio dipendenti Archivio cacciatori Persona Codice progres- sivo Codice fiscale Codice fiscale Numero tessera sanitaria Codice interno
  • 36. 36 1. Il modello Il modello Entita’ Relazione
  • 37. 37 Generalizzazione Esempio di schema nel modello Entita’ Relazione Persona Codice Cognome UomoDonna Comune Codice Nomenato Provincia Codice Nome in in Le persone si dividono in donne e uomini. Le persone sono descritte da codice e cognome Le persone sono nate in Comuni, i Comuni sono localizzati in Province e le Province in Regioni Comuni, Province e Regioni hanno codice e nome Regione Codice Nome Entita’ Relazione Attributo
  • 38. 38 Dal Cobol, al modello Entita’ Relazione al linguaggio naturale Persona Codice Cognome UomoDonna Comune Codice Nomenato Provincia Codice Nome In in Regione Codice Nome • 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 cognome Le persone sono nate in Comuni, i Comuni sono localizzati in Province e le Province in Regioni Comuni, Province e Regioni hanno codice e nome
  • 39. 39 Me se io ho tanti schemi concettuali, come faccio a dar loro una struttura? Non li posso certo integrare in un unico schema….
  • 40. 40 Due strumenti concettuali • Integrazione, per “mettere insieme” e “riconciliare” • Astrazione, per “capire” e “sintetizzare”
  • 41. 41 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
  • 42. 42 L’integrazione: modello Entita’ Relazione Lavoratore Citta’ Regione Organizza zione lavora nato in in Lavoratore Organizza zione Lavoratore Citta’ Regione Area Organizza zione in in lavora nato
  • 43. 43 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.
  • 44. 44 L’astrazione: modello Entita’ Relazione Lavoratore Riferimento geografico Organizza zione lavora in nato Lavoratore Citta’ Regione Organizza zione lavora in nato in
  • 45. 45 Se le usiamo insieme: integrazione + astrazione Lavoratore Organizza zione Lavoratore Citta’ Regione Area Organizza zione lavora nato in in Integrazione Lavoratore Citta’ Regione Organizza zione in in in nato Lavoratore Riferimento geografico Organizza zione Astrazione in in nato
  • 46. 46 La struttura di integrazione - astrazione Integrazione – Astrazione Lavoratore Riferimento geografico Organizza zione nato in lavora Lavoratore Organizza zione Lavoratore Citta’ Regione Regione Organizza zione lavora in innato
  • 47. 47 Le abbiamo usate iterativamente …… ottenendo il repository Previdenza Giustizia Ambiente Salute
  • 48. 48 Schemi base e schemi astratti Schemi astratti Schemi base
  • 49. 49 … 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
  • 50. 50 Repository PAC – struttura completa TRASPORTI COMUNICAZIONIPRODUZIONELAVOROCULTURAEDILIZIA AMBIENTEISTRUZIONESANITA'SICUREZZAGIUSTIZIADIFESAAFFARI 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 DIRETTI SERVIZI SOCIALI ED ECONOMICI CATASTO PREVIDENZA RELAZIONIESTEREINITALIA RELAZIONIITALIANEALL'ESTERO ATTIVITA'GIURIDICA CRIMINALITA' SICUREZZAINTERNA ASSISTENZA SERVIZIOSANITARIO ISTRUZIONE AMBIENTE BENICULTURALI LAVORO AZIENDEAGRICOLE AZIENDEINDUSTRALI TRASPORTI SERVIZI SOCIALI SERVIZI ECONOMICI TRASFERIMENTOFONDI AENTILOCALIPERENTIPUIBBLICI CAPITOLIDISPESA STATISTICARISORSE DI SUPPORTO RISORSE FINANZIARIE RISORSE STRUMENTALI E IMMOBILIARI RISORSE UMANE PROTOCOLLO ORGANICOLLEGIALI FISCO DOGANE RISORSE STRUMENTI AUTOMEZZI BENIIMMOBILI DIPENDENTI FORMAZIONE RAPPRESENTANZE 2/93 2/12 8/293 6/69 3/182 3/30 2/89 3/59 2/65 37/336 3/75 3/66 9/118 4/36 6/53 10/76 6/76 6/130 5/56 6/155 3/134 8/213 10/100 9/118 3/53 9/112 10/178
  • 51. 51 Lo schema piu’ astratto Bene Soggetto Documento Unità organizzativa Riferimento territoriale
  • 52. 52 In sintesi Pubblica Amministrazione centrale Pubblica Amministrazione locale Rappresentazione concettuale 550 schemi Rappresentazione logico fisica 18.000 tabelle
  • 53. 53 Schemi descritti nel Repository Soggetto Bene Soggetto Documento Unità organizzativa Riferimento territoriale S. fisico S. giuridico
  • 54. 54 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 anagrafe tributaria 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 segnalato straniero italiano residente all’estero Richiedente cittadinanza Richiedente visto 47 164 91 161 520 162 163 MI, MT, MD 3637 39 38 40 82 89 153 MF, MT 35 48 59 98 110 165 174 180 526 650 MGG, MI, MIBCA , MT, MTN MI, MS 6 16 63 72 80 600 66 81 99 18 27 73 5 90 132 142 MAE, MURST, MPI MAE, MGG, MI MAE, MI, MLPS MI 601 507602 190 2 4 53 54 71 74 88 101 104 105 160 171 603 653 654 663 52 92 111 170 7 9 10 11 12 20 24 25 45 51 55 64 65 68 87 93 96 97 108 120 131 137 173 501 506 515516 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 generalizzazione Caso Soggetto fisico
  • 55. 55 La gerarchia di soggetto –soggetto fisico •Lavoro •lavoratore –lavoratore autonomo –dipendente pubblico •disoccupato •…… –soggetto giuridico •impresa •istituzione p.a. •Istituzione sociale privata •……
  • 56. 56 Utlizzeremo percio’ una conoscenza piu’ sintetica: le gerarchie di generalizzazione Schemi logici Schemi concettuali Pubblica Amministrazione Locale Pubblica Amministrazione Centrale Gerarchie di Generalizzazione: -Cittadino -Impresa -Organizzazione -Documento -Luogo -Bene
  • 57. 57 Sintesi della metodologia • Scopo della metodologia: semplificare il compito del referente dati, utulizzando 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.
  • 58. 58 Le fasi della metodologia Fase automatica Schema scheletro Schema finale Fase manuale Referente dati competente sul dominio
  • 59. Fase automatica: generazione entita’ • 1-GENERAZIONE ENTITA' input: a) le entita' delle ontologie b) le tavole della base dati output: x) le tavole "pescate" dall'algoritmo y) 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
  • 60. Passo 1: Generazione entita’ ….. Attributi e Tabelle Gerarchie E1 PA Piemontese PA Centrale
  • 61. Generazione entita’ Ricerca per somiglianza ….. Attributi e Tabelle degli Schemi logici Gerarchie E1 PA Piemontese PA Centrale
  • 62. Generazione entita’ passo finale E1 E2 E3 Attributi e Tabelle E1 E2 E3 ….. PA Centrale PA Piemontese
  • 63. 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 medesime generalizzazioni Con un esempio astratto, se ho una ontologia completa A       B             C             D       E
  • 64. Generazione generalizzazioni • se precedentemente ho selezionato A, B, D le generalizzazioni trovate saranno A       B             D Se avevamo corrispondenza tra A e TAV1, B e TAV2, D e TAV4, avremo la gerarchia di generalizzazione tavole: TAV1       TAV2             TAV4
  • 65. 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 ad
  • 66. 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 meno arbitrariamente...       - nell'esempio scegliero':             A-B (una delle 2 relazioni trovate)             B-D
  • 67. Generazione attributi • 4-GENERAZIONE ATTRIBUTI input: a) le entita' selezionate in passo 1 b) le tavole selezionate in passo 1 c) gli attributi delle tavole selezionate in passo 1 (vedasi algoritmo del passo 1) output: x) per ciascuna entita' i suoi attributi algoritmo: importo IN ciascuna entita' gli attributi delle tavole corrispondenti Con il solito esempio, se avevamo A 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)
  • 68. 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' eventuali tavole che si frappongono per costituire il cammino dei constraints algoritmo: - con un tool (generalmente erwin) si effettuano sulla base dati operazioni di "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, TAV2 e TAV4, il cammino relazionale fisico ottenuto dai constraints potrebbe essere:       TAV1-tav5-TAV4-TAV2 (tav5 viene introdotto perche' necessaria al cammino per unire TAV1 e TAV4)
  • 69. Verifica col referente dati • 6-VERIFICA CON REFERENTE DATI input: a) tutto il materiale prodotto nei passi precedenti b) 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 col referente dati
  • 71. 71 Scopi della sperimentazione • Validare la metodologia – Verificare la sua efficienza – Verificare la sua precisione – Valutare l’ efficacia
  • 73. 73 Risultati sulla efficienza: schemi base Costo 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
  • 74. 74 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
  • 75. 75 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
  • 77.
  • 78. Spiegazioni pagina precedente • 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
  • 79. • Output file fa – Nome entita’ in gerarchia – Nome tavola pescata con like – Des tavola pescata – Nome campo pescato – Des campo pescato
  • 80. • Algoritmo: – Per ogni occorrenza di f1 • Cerca like in occorrenza di f1 tutte le entita’ (di qualsiasi livello) contenute in f2 (cerca in tutti i nomi e des di tavole e campi di f1) • Se like = yes ottieni occorrenza di fa
  • 81.
  • 82. Spiegazioni pagina precedente • Per ogni entita’ trovata ricostruisce la gerarchia che la contiene • Ad esempio se della gerarchia a-b-c trova solo c, ricostruisce tutto l’albero per arrivare a c ovvero a-b-c • Se trova solo b, recupera a-b
  • 83.
  • 84. Spiegazioni pagina precedente • Dal file di input f3, che contiene le relazioni tra le entita’, deriva le relazioni presenti nell’inferenza • Se aveva trovato like le entita’ A e B, e se tra A e B c’e’ una relazione, la recupera (A.relaziona.B)
  • 85.
  • 86. 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
  • 87.
  • 88. 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 • L’infer constraint con criterio, considera i constraints a distanza 1 dalla tavola pescata, senza criterio considera tutte le distanze, quindi recupera grappoli di tabelle relazionate a partire da quella pescata
  • 89.
  • 90. 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)
  • 93.
  • 94. • 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
  • 95. Catalogo agid • Inferenze sul catalogo basi dati agid 95
  • 96. 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 96
  • 97. …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 97
  • 98. …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 98
  • 99. …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 99
  • 100. …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/F 2indent.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 100
  • 102. 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_visualizati on/wi3p 102
  • 103. Un frammento di ontologia owl disegnata 103
  • 104. 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 104
  • 105. Entita’ mappate nelle p.a. (ipa) 105
  • 106. 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=@geontobot Per 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 106
  • 108. 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 108
  • 109. 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.grosso https://www.facebook.com/riccardo.grosso https://twitter.com/riccardomgrosso https://www.linkedin.com/in/riccardo-grosso- 7939b35?trk=hp-identity-name 109