SlideShare a Scribd company logo
1 of 43
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/0B9eWAzJTqlgUc
• 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
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.
6
I lavori con il professor Batini
• Le attivita’ di
recupero e integrazione della conoscenza
concettuale sui dati PA
Azioni di medio termine
Prof. Carlo Batini
Universita’ Bicocca – Milano
• Se richiesto, e’ possibile visualizzare le slide a
cura di Batini
7
Cenni sul tool di inferenza
• Tool realizzato da Manuel Garasi su analisi di
Riccardo Grosso, con la supervisione di Carlo
Batini
Step 1 – add entity
• Cerca per somiglianza (like), nei nomi e
descrizioni di tavole e campi di un database, le
entita’ della gerarchia usata dal tool:
• https://www.dropbox.com/s/eodk7k36m6ehn7y/F2
10
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
Step 2 – add generalizations
• Ricostruisce le gerarchie tra le entita’
individuate, sempre attinendosi a:
• https://www.dropbox.com/s/eodk7k36m6ehn7y/F2
13
Step 3 – add relationships
• Ricostruisce le relazioni a disposizione tra le
entita’ pescate
• 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
15
Step 4 – add attributes
• 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
Step 5 – infer constraints
• Sfrutta i constraint (relazioni fisiche) presenti
tra le tavole pescate, permettendo cosi’ di
arricchire la knowledge base con nuovi concetti
inferiti dal basso
Spiegazioni pagina precedente
• La funzione sql traduce le entita’, le gerarchie, le
relazioni e gli attributi ricostruiti in uno pseudo
script ddl-sql e attiva un tool grafico che
visualizza il modello ottenuto (erwin). Il tutto
viene validato da un referente
• In pratica traduce i frammenti ontologici
ottenuti (gerarchie, relazioni, attributi) in una
ontologia con formato ddl-sql
• Piu’ avanti vediamo come utilizzare questi
frammenti per produrre e disegnare ontologie in
formato owl
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/0B9eWAzJ
• La cartella e’ costituita da 3 sottocartelle:
– DB
– SK
– SQListituzioni
25
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 26
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/sc
• Faccio upload dei 3 files e lancio la convert
• Copio il testo ottenuto dalla convert e lo salvo in
un file
27
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
28
Catalogo agid
• Inferenze sul catalogo basi dati agid
29
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 30
…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-se
31
…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
32
…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
33
…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/F2in
; 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
34
Gerarchie di entita’
35
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-applicat
• Con un tool free e’ possibile disegnare tali OWL,
per dare un senso grafico alle ontologie, e
renderle forse piu belle da vedere: 
http://owlgred.lumii.lv/online_visualization/wi3p
36
Un frammento di ontologia owl disegnata
37
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
38
Entita’ mappate nelle p.a. (ipa)
39
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 ) 40
Geontologie bot
41
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
42
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
43

More Related Content

Similar to Linked data parliamo di semantica del web - v3

How I did it (in .NET): idiomatic Domain Driven Design
How I did it (in .NET): idiomatic Domain Driven DesignHow I did it (in .NET): idiomatic Domain Driven Design
How I did it (in .NET): idiomatic Domain Driven Design
Andrea Saltarello
 
Basi di dati e gis n
Basi di dati e gis nBasi di dati e gis n
Basi di dati e gis n
imartini
 

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

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
 
Build a LINQ-enabled Repository
Build a LINQ-enabled RepositoryBuild a LINQ-enabled Repository
Build a LINQ-enabled Repository
 
Excel development e sql 2.1
Excel development e sql   2.1Excel development e sql   2.1
Excel development e sql 2.1
 
Corso access 2010
Corso access 2010Corso access 2010
Corso access 2010
 
Never Mind the Bollocks: here's the Domain Driven Design
Never Mind the Bollocks: here's the Domain Driven DesignNever Mind the Bollocks: here's the Domain Driven Design
Never Mind the Bollocks: here's the Domain Driven Design
 
C#, imparare a programmare e sopravvivere
C#, imparare a programmare e sopravvivereC#, imparare a programmare e sopravvivere
C#, imparare a programmare e sopravvivere
 
How I did it (in .NET): idiomatic Domain Driven Design
How I did it (in .NET): idiomatic Domain Driven DesignHow I did it (in .NET): idiomatic Domain Driven Design
How I did it (in .NET): idiomatic Domain Driven Design
 
Data base elvira asile
Data base elvira asileData base elvira asile
Data base elvira asile
 
Repository pattern
Repository patternRepository pattern
Repository pattern
 
PostgreSQL : Architettura di storage
PostgreSQL : Architettura di storagePostgreSQL : Architettura di storage
PostgreSQL : Architettura di storage
 
Entity Framework 4.0 vs NHibernate
Entity Framework 4.0 vs NHibernateEntity Framework 4.0 vs NHibernate
Entity Framework 4.0 vs NHibernate
 
Basi di dati e gis n
Basi di dati e gis nBasi di dati e gis n
Basi di dati e gis n
 
A ciascuno il suo: archi, frecce e interfacce per servizi editoriali B2B e B2...
A ciascuno il suo: archi, frecce e interfacce per servizi editoriali B2B e B2...A ciascuno il suo: archi, frecce e interfacce per servizi editoriali B2B e B2...
A ciascuno il suo: archi, frecce e interfacce per servizi editoriali B2B e B2...
 
couchbase mobile
couchbase mobilecouchbase mobile
couchbase mobile
 
Algoritmi e Calcolo Parallelo 2012/2013 - Strutture Dati Elementari
Algoritmi e Calcolo Parallelo 2012/2013 - Strutture Dati ElementariAlgoritmi e Calcolo Parallelo 2012/2013 - Strutture Dati Elementari
Algoritmi e Calcolo Parallelo 2012/2013 - Strutture Dati Elementari
 
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
 
Opendata, licenze & formati, scoprirli & usarli
Opendata, licenze & formati, scoprirli & usarliOpendata, licenze & formati, scoprirli & usarli
Opendata, licenze & formati, scoprirli & usarli
 
Thingspeak: integrazione
Thingspeak: integrazioneThingspeak: integrazione
Thingspeak: integrazione
 
Basi di dati
Basi di dati Basi di dati
Basi di dati
 
Power B: Cleaning data
Power B: Cleaning dataPower B: Cleaning data
Power B: Cleaning data
 

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 - v3

  • 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/0B9eWAzJTqlgUc • 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
  • 6. 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. 6
  • 7. I lavori con il professor Batini • Le attivita’ di recupero e integrazione della conoscenza concettuale sui dati PA Azioni di medio termine Prof. Carlo Batini Universita’ Bicocca – Milano • Se richiesto, e’ possibile visualizzare le slide a cura di Batini 7
  • 8. Cenni sul tool di inferenza • Tool realizzato da Manuel Garasi su analisi di Riccardo Grosso, con la supervisione di Carlo Batini
  • 9.
  • 10. Step 1 – add entity • Cerca per somiglianza (like), nei nomi e descrizioni di tavole e campi di un database, le entita’ della gerarchia usata dal tool: • https://www.dropbox.com/s/eodk7k36m6ehn7y/F2 10
  • 11. 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
  • 12.
  • 13. Step 2 – add generalizations • Ricostruisce le gerarchie tra le entita’ individuate, sempre attinendosi a: • https://www.dropbox.com/s/eodk7k36m6ehn7y/F2 13
  • 14.
  • 15. Step 3 – add relationships • Ricostruisce le relazioni a disposizione tra le entita’ pescate • 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 15
  • 16.
  • 17. Step 4 – add attributes • 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
  • 18.
  • 19. Step 5 – infer constraints • Sfrutta i constraint (relazioni fisiche) presenti tra le tavole pescate, permettendo cosi’ di arricchire la knowledge base con nuovi concetti inferiti dal basso
  • 20.
  • 21. 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). Il tutto viene validato da un referente • In pratica traduce i frammenti ontologici ottenuti (gerarchie, relazioni, attributi) in una ontologia con formato ddl-sql • Piu’ avanti vediamo come utilizzare questi frammenti per produrre e disegnare ontologie in formato owl
  • 22. Piramide concettuale • Integrazione e astrazione degli schemi base secondo alberi gerarchici a piacere
  • 23. Lista semilavorati ontologici ad ogni livello • Generalizzazioni, relazioni e attributi usati poi per ottenere ontologie owl
  • 24. 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
  • 25. 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/0B9eWAzJ • La cartella e’ costituita da 3 sottocartelle: – DB – SK – SQListituzioni 25
  • 26. 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 26
  • 27. 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/sc • Faccio upload dei 3 files e lancio la convert • Copio il testo ottenuto dalla convert e lo salvo in un file 27
  • 28. 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 28
  • 29. Catalogo agid • Inferenze sul catalogo basi dati agid 29
  • 30. 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 30
  • 31. …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-se 31
  • 32. …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 32
  • 33. …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 33
  • 34. …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/F2in ; 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 34
  • 36. 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-applicat • Con un tool free e’ possibile disegnare tali OWL, per dare un senso grafico alle ontologie, e renderle forse piu belle da vedere:  http://owlgred.lumii.lv/online_visualization/wi3p 36
  • 37. Un frammento di ontologia owl disegnata 37
  • 38. 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 38
  • 39. Entita’ mappate nelle p.a. (ipa) 39
  • 40. 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 ) 40
  • 42. 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 42
  • 43. 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 43