SlideShare a Scribd company logo
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 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 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/0B9eWAzJTqlg
Ucm9YZ1VCVUZGYUk/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 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
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
Organizza
zione
lavora
nato
in
in
Lavoratore
Organizza
zione
Lavoratore Citta’ Regione
Area
Organizza
zione
in
in
lavora
nato
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
Riferimento
geografico
Organizza
zione
lavora
in
nato
Lavoratore Citta’ Regione
Organizza
zione
lavora
in
nato in
44
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
45
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
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'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
50
Lo schema piu’ astratto
Bene
Soggetto
Documento
Unità
organizzativa
Riferimento
territoriale
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
Riferimento
territoriale
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 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
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
Amministrazione
Locale
Pubblica Amministrazione Centrale
Gerarchie di
Generalizzazione:
-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
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
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 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
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
Linked data   parliamo di semantica del web - v0
Spiegazioni funzione add entities
• Input file f1
– Colonne nomebasedati, nometavola, destavola,
nomecampo, descampo (des= descrizione)
• Input file f2
– Codice gerarchia (es. B = Bene) di appartenenza
– Livello nella gerarchia
– Nome dell’entita’ in gerarchia
– Criteri like di ricerca nei metadati
• Per ogni occorrenza di f1
– Cerca per somiglianza le entita’ di f2 e salva le entita’
trovate
Linked data   parliamo di semantica del web - v0
Linked data   parliamo di semantica del web - v0
Linked data   parliamo di semantica del web - v0
Spiegazioni pagina precedente
• Da’ una casa agli attributi
• Se aveva pescato l’entita’ a nella tavola t (nome o
des tavola), la tavola t viene considerata come
un’istanza dell’entita’ a
• Se aveva pescato l’entita’ a nel campo c di una
tavola (nome o des campo), l’entita’ a ospitera’ in
casa il campo c che diventa attributo dell’entita’
a
Linked data   parliamo di semantica del web - v0
Spiegazioni pagina precedente
• Sfrutta i constraint (relazioni fisiche) presenti
tra le tavole pescate, permettendo cosi’ di
arricchire la knowledge base con nuovi concetti
inferiti dal basso
Linked data   parliamo di semantica del web - v0
Spiegazioni pagina precedente
• La funzione sql traduce le entita’, le gerarchie, le
relazioni e gli attributi ricostruiti in uno pseudo
script ddl-sql e attiva un tool grafico che
visualizza il modello ottenuto (erwin)
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/0B9eW
AzJTqlgUeWpxcGZ0M09qTWM
• 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 file
91
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/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
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_visualizati
on/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=@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
(link al file usato dal bot:
https://www.dropbox.com/s/6i0gp8jw8qnvpvq/ipa
EntitiesGeo.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.grosso
https://www.facebook.com/riccardo.grosso
https://twitter.com/riccardomgrosso
https://www.linkedin.com/in/riccardo-grosso-
7939b35?trk=hp-identity-name
107

More Related Content

Viewers also liked

Bumper offer the mazada pharma guide
Bumper offer   the mazada pharma guideBumper offer   the mazada pharma guide
Bumper offer the mazada pharma guide
Prakash Anjalekar - The Mazda Pharma Guide
 
Aprendizaje autonomo
Aprendizaje autonomoAprendizaje autonomo
Aprendizaje autonomo
LUIS GERARDO BOTELLO CAMARILLO
 
Actividad1
Actividad1Actividad1
Ways To Have A Better iOS 10 Life
Ways To Have A Better iOS 10 LifeWays To Have A Better iOS 10 Life
Ways To Have A Better iOS 10 Life
Excellent WebWorld Pvt. Ltd
 
Ad-Juster
Ad-JusterAd-Juster
Ad-Juster
Jesse Poppick
 
The Mazada Pharma Guide - 16th to 30th Mmarch 2016
The Mazada Pharma Guide - 16th  to 30th Mmarch 2016The Mazada Pharma Guide - 16th  to 30th Mmarch 2016
The Mazada Pharma Guide - 16th to 30th Mmarch 2016
Prakash Anjalekar - The Mazda Pharma Guide
 
Mercantile building letter
Mercantile building letterMercantile building letter
Mercantile building letter
Bart Douglas Cook
 
Marlabs Services Capabilities Overview
Marlabs Services Capabilities OverviewMarlabs Services Capabilities Overview
Marlabs Services Capabilities Overview
Marlabs
 
Introduzione a Linked Open data e Web semantico / Antonella Iacono
Introduzione a Linked Open data e Web semantico / Antonella IaconoIntroduzione a Linked Open data e Web semantico / Antonella Iacono
Introduzione a Linked Open data e Web semantico / Antonella Iacono
libriedocumenti
 
Implementación de o.a
Implementación de o.a Implementación de o.a
Implementación de o.a
Emma Margarita Torres Mendez
 
Job fair at seattle
Job fair at seattleJob fair at seattle
Job fair at seattle
zeenatkassam
 
Numpy, the Python foundation for number crunching
Numpy, the Python foundation for number crunchingNumpy, the Python foundation for number crunching
Numpy, the Python foundation for number crunching
Data Science London
 

Viewers also liked (12)

Bumper offer the mazada pharma guide
Bumper offer   the mazada pharma guideBumper offer   the mazada pharma guide
Bumper offer the mazada pharma guide
 
Aprendizaje autonomo
Aprendizaje autonomoAprendizaje autonomo
Aprendizaje autonomo
 
Actividad1
Actividad1Actividad1
Actividad1
 
Ways To Have A Better iOS 10 Life
Ways To Have A Better iOS 10 LifeWays To Have A Better iOS 10 Life
Ways To Have A Better iOS 10 Life
 
Ad-Juster
Ad-JusterAd-Juster
Ad-Juster
 
The Mazada Pharma Guide - 16th to 30th Mmarch 2016
The Mazada Pharma Guide - 16th  to 30th Mmarch 2016The Mazada Pharma Guide - 16th  to 30th Mmarch 2016
The Mazada Pharma Guide - 16th to 30th Mmarch 2016
 
Mercantile building letter
Mercantile building letterMercantile building letter
Mercantile building letter
 
Marlabs Services Capabilities Overview
Marlabs Services Capabilities OverviewMarlabs Services Capabilities Overview
Marlabs Services Capabilities Overview
 
Introduzione a Linked Open data e Web semantico / Antonella Iacono
Introduzione a Linked Open data e Web semantico / Antonella IaconoIntroduzione a Linked Open data e Web semantico / Antonella Iacono
Introduzione a Linked Open data e Web semantico / Antonella Iacono
 
Implementación de o.a
Implementación de o.a Implementación de o.a
Implementación de o.a
 
Job fair at seattle
Job fair at seattleJob fair at seattle
Job fair at seattle
 
Numpy, the Python foundation for number crunching
Numpy, the Python foundation for number crunchingNumpy, the Python foundation for number crunching
Numpy, the Python foundation for number crunching
 

Similar to Linked data parliamo di semantica del web - v0

Linked data parliamo di semantica del web
Linked data   parliamo di semantica del webLinked data   parliamo di semantica del web
Linked data parliamo di semantica del web
Riccardo Grosso
 
Linked data parliamo di semantica del web - v3
Linked data   parliamo di semantica del web - v3Linked data   parliamo di semantica del web - v3
Linked data parliamo di semantica del web - v3
Riccardo Grosso
 
Database relazionali
Database relazionaliDatabase relazionali
Database relazionali
Marco Liverani
 
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
Giuseppe Cramarossa
 
Okoa2016long v2
Okoa2016long v2Okoa2016long v2
Okoa2016long v2
Riccardo Grosso
 
Basi di dati e gis n
Basi di dati e gis nBasi di dati e gis n
Basi di dati e gis n
imartini
 
Alla scoperta dei Vector Database e dei RAG
Alla scoperta dei Vector Database e dei RAGAlla scoperta dei Vector Database e dei RAG
Alla scoperta dei Vector Database e dei RAG
Commit University
 
Ricostruire le famiglie editoriali: FRBR per la storia delle case editrici at...
Ricostruire le famiglie editoriali: FRBR per la storia delle case editrici at...Ricostruire le famiglie editoriali: FRBR per la storia delle case editrici at...
Ricostruire le famiglie editoriali: FRBR per la storia delle case editrici at...
Salvatore Vassallo
 
Power B: Cleaning data
Power B: Cleaning dataPower B: Cleaning data
Power B: Cleaning data
Marco Pozzan
 
Esercitazioni Ingegneria 6ed
Esercitazioni Ingegneria 6edEsercitazioni Ingegneria 6ed
Esercitazioni Ingegneria 6ed
bibliobioing
 
Relaxed FD Discoverer
Relaxed FD DiscovererRelaxed FD Discoverer
Relaxed FD Discoverer
Giuseppe Luciano
 
Repository pattern
Repository patternRepository pattern
Repository pattern
Christian Nastasi
 
Schema Design
Schema DesignSchema Design
Schema Design
MongoDB
 
Job Finder
Job FinderJob Finder
Job Finder
beppe66
 
Job Finder
Job FinderJob Finder
Job Finder
beppe66
 
Job Finder
Job FinderJob Finder
Job Finder
beppe66
 
Modello er (2)
Modello er (2)Modello er (2)
Modello er (2)
enzosa007
 
Linked Open Data di Vittorio Di Tomaso
Linked Open Data di Vittorio Di TomasoLinked Open Data di Vittorio Di Tomaso
Linked Open Data di Vittorio Di Tomaso
CELI
 
C#, imparare a programmare e sopravvivere
C#, imparare a programmare e sopravvivereC#, imparare a programmare e sopravvivere
C#, imparare a programmare e sopravvivere
Matteo Valoriani
 
LEZ_10_IntroDB.pptx
LEZ_10_IntroDB.pptxLEZ_10_IntroDB.pptx
LEZ_10_IntroDB.pptx
WalterQuattrociocchi1
 

Similar to Linked data parliamo di semantica del web - v0 (20)

Linked data parliamo di semantica del web
Linked data   parliamo di semantica del webLinked data   parliamo di semantica del web
Linked data parliamo di semantica del web
 
Linked data parliamo di semantica del web - v3
Linked data   parliamo di semantica del web - v3Linked data   parliamo di semantica del web - v3
Linked data parliamo di semantica del web - v3
 
Database relazionali
Database relazionaliDatabase relazionali
Database relazionali
 
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
 
Okoa2016long v2
Okoa2016long v2Okoa2016long v2
Okoa2016long v2
 
Basi di dati e gis n
Basi di dati e gis nBasi di dati e gis n
Basi di dati e gis n
 
Alla scoperta dei Vector Database e dei RAG
Alla scoperta dei Vector Database e dei RAGAlla scoperta dei Vector Database e dei RAG
Alla scoperta dei Vector Database e dei RAG
 
Ricostruire le famiglie editoriali: FRBR per la storia delle case editrici at...
Ricostruire le famiglie editoriali: FRBR per la storia delle case editrici at...Ricostruire le famiglie editoriali: FRBR per la storia delle case editrici at...
Ricostruire le famiglie editoriali: FRBR per la storia delle case editrici at...
 
Power B: Cleaning data
Power B: Cleaning dataPower B: Cleaning data
Power B: Cleaning data
 
Esercitazioni Ingegneria 6ed
Esercitazioni Ingegneria 6edEsercitazioni Ingegneria 6ed
Esercitazioni Ingegneria 6ed
 
Relaxed FD Discoverer
Relaxed FD DiscovererRelaxed FD Discoverer
Relaxed FD Discoverer
 
Repository pattern
Repository patternRepository pattern
Repository pattern
 
Schema Design
Schema DesignSchema Design
Schema Design
 
Job Finder
Job FinderJob Finder
Job Finder
 
Job Finder
Job FinderJob Finder
Job Finder
 
Job Finder
Job FinderJob Finder
Job Finder
 
Modello er (2)
Modello er (2)Modello er (2)
Modello er (2)
 
Linked Open Data di Vittorio Di Tomaso
Linked Open Data di Vittorio Di TomasoLinked Open Data di Vittorio Di Tomaso
Linked Open Data di Vittorio Di Tomaso
 
C#, imparare a programmare e sopravvivere
C#, imparare a programmare e sopravvivereC#, imparare a programmare e sopravvivere
C#, imparare a programmare e sopravvivere
 
LEZ_10_IntroDB.pptx
LEZ_10_IntroDB.pptxLEZ_10_IntroDB.pptx
LEZ_10_IntroDB.pptx
 

More from 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 ontologie
Riccardo 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 ontologies
Riccardo 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_n
Riccardo Grosso
 
Cap5 attiv ricostruz_si_pacp_rg221204
Cap5 attiv ricostruz_si_pacp_rg221204Cap5 attiv ricostruz_si_pacp_rg221204
Cap5 attiv ricostruz_si_pacp_rg221204
Riccardo Grosso
 
Cap4 proget concet_cb221204
Cap4 proget concet_cb221204Cap4 proget concet_cb221204
Cap4 proget concet_cb221204
Riccardo Grosso
 
Cap1 2 3_intro_astrazioni
Cap1 2 3_intro_astrazioniCap1 2 3_intro_astrazioni
Cap1 2 3_intro_astrazioni
Riccardo Grosso
 
2 repository metadati_e_schemi
2 repository metadati_e_schemi2 repository metadati_e_schemi
2 repository metadati_e_schemi
Riccardo 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 bis
Riccardo Grosso
 

More from Riccardo Grosso (18)

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
 
Cap1 2 3_intro_astrazioni
Cap1 2 3_intro_astrazioniCap1 2 3_intro_astrazioni
Cap1 2 3_intro_astrazioni
 
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 - v0

  • 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 • 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
  • 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 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
  • 4. 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
  • 5. Basi dati: in principio fu il repository fisico • https://drive.google.com/file/d/0B9eWAzJTqlg Ucm9YZ1VCVUZGYUk/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
  • 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, 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. 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 Necessita’ di organizzare gli schemi • Integrazione, per “mettere insieme” e “riconciliare” • Astrazione, per “capire” e “sintetizzare”
  • 40. 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. 41 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
  • 42. 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. 43 L’astrazione: modello Entita’ Relazione Lavoratore Riferimento geografico Organizza zione lavora in nato Lavoratore Citta’ Regione Organizza zione lavora in nato in
  • 44. 44 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
  • 45. 45 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
  • 46. 46 Le abbiamo usate iterativamente …… ottenendo il repository Previdenza Giustizia Ambiente Salute
  • 47. 47 Schemi base e schemi astratti Schemi astratti Schemi base
  • 48. 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. 49 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
  • 50. 50 Lo schema piu’ astratto Bene Soggetto Documento Unità organizzativa Riferimento territoriale
  • 51. 51 In sintesi Pubblica Amministrazione centrale Pubblica Amministrazione locale Rappresentazione concettuale 550 schemi Rappresentazione logico fisica 18.000 tabelle
  • 52. 52 Schemi descritti nel Repository Soggetto Bene Soggetto Documento Unità organizzativa Riferimento territoriale S. fisico S. giuridico
  • 53. 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 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
  • 54. 54 La gerarchia di soggetto –soggetto fisico •Lavoro •lavoratore –lavoratore autonomo –dipendente pubblico •disoccupato •…… –soggetto giuridico •impresa •istituzione p.a. •Istituzione sociale privata •……
  • 55. 55 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
  • 56. 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. 57 Le fasi della metodologia Fase automatica Schema scheletro Schema finale Fase manuale Referente dati competente sul dominio
  • 58. 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
  • 59. Passo 1: Generazione entita’ ….. Attributi e Tabelle Gerarchie E1 PA Piemontese PA Centrale
  • 60. Generazione entita’ Ricerca per somiglianza ….. Attributi e Tabelle degli Schemi logici Gerarchie E1 PA Piemontese PA Centrale
  • 61. Generazione entita’ passo finale E1 E2 E3 Attributi e Tabelle E1 E2 E3 ….. PA Centrale PA Piemontese
  • 62. 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
  • 63. 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
  • 64. 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
  • 65. 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
  • 66. 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)
  • 67. 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)
  • 68. 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. 70 Scopi della sperimentazione • Validare la metodologia – Verificare la sua efficienza – Verificare la sua precisione – Valutare l’ efficacia
  • 72. 72 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
  • 73. 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. 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
  • 75. Cenni sul tool di inferenza • Tool realizzato da Manuel Garasi su analisi di Riccardo Grosso, con la supervisione di Carlo Batini
  • 77. 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
  • 81. 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
  • 83. 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
  • 85. 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)
  • 86. Piramide concettuale • Integrazione e astrazione degli schemi base secondo alberi gerarchici a piacere
  • 87. Lista semilavorati ontologici ad ogni livello • Generalizzazioni, relazioni e attributi usati poi per ottenere ontologie owl
  • 88. 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
  • 89. 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/0B9eW AzJTqlgUeWpxcGZ0M09qTWM • La cartella e’ costituita da 3 sottocartelle: – DB – SK – SQListituzioni 89
  • 90. 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
  • 91. 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 file 91
  • 92. 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
  • 93. Catalogo agid • Inferenze sul catalogo basi dati agid 93
  • 94. 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
  • 95. …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
  • 96. …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
  • 97. …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
  • 98. …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 98
  • 100. 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 100
  • 101. Un frammento di ontologia owl disegnata 101
  • 102. 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
  • 103. Entita’ mappate nelle p.a. (ipa) 103
  • 104. 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 (link al file usato dal bot: https://www.dropbox.com/s/6i0gp8jw8qnvpvq/ipa EntitiesGeo.csv?dl=0 ) 104
  • 106. 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
  • 107. 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 107