Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Linked data parliamo di semantica del web - v0

2,123 views

Published on

versione completa

Published in: Data & Analytics

Linked data parliamo di semantica del web - v0

  1. 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. 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. 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. 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. 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
  6. 6. Repository fisico 6
  7. 7. Repository fisico 7
  8. 8. Repository fisico 8
  9. 9. Repository fisico 9
  10. 10. Repository fisico 10
  11. 11. Repository fisico 11
  12. 12. Repository fisico 12
  13. 13. Repository fisico 13
  14. 14. Repository fisico 14
  15. 15. Repository fisico 15
  16. 16. Repository fisico 16
  17. 17. Repository fisico 17
  18. 18. Repository fisico 18
  19. 19. Repository fisico 19
  20. 20. Repository fisico 20
  21. 21. Repository fisico (rdbTOonto) 21
  22. 22. Repository fisico (creare modello) 22
  23. 23. Repository fisico 23
  24. 24. Repository fisico 24
  25. 25. Repository fisico 25
  26. 26. Repository fisico 26
  27. 27. Repository fisico 27
  28. 28. Repository fisico 28
  29. 29. Repository fisico 29
  30. 30. Repository fisico 30
  31. 31. Repository fisico 31
  32. 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. 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. 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. 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. 36 1. Il modello Il modello Entita’ Relazione
  37. 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. 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. 39 Necessita’ di organizzare gli schemi • Integrazione, per “mettere insieme” e “riconciliare” • Astrazione, per “capire” e “sintetizzare”
  40. 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. 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. 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. 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. 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. 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. 46 Le abbiamo usate iterativamente …… ottenendo il repository Previdenza Giustizia Ambiente Salute
  47. 47. 47 Schemi base e schemi astratti Schemi astratti Schemi base
  48. 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. 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. 50 Lo schema piu’ astratto Bene Soggetto Documento Unità organizzativa Riferimento territoriale
  51. 51. 51 In sintesi Pubblica Amministrazione centrale Pubblica Amministrazione locale Rappresentazione concettuale 550 schemi Rappresentazione logico fisica 18.000 tabelle
  52. 52. 52 Schemi descritti nel Repository Soggetto Bene Soggetto Documento Unità organizzativa Riferimento territoriale S. fisico S. giuridico
  53. 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. 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. 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. 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. 57 Le fasi della metodologia Fase automatica Schema scheletro Schema finale Fase manuale Referente dati competente sul dominio
  58. 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. 59. Passo 1: Generazione entita’ ….. Attributi e Tabelle Gerarchie E1 PA Piemontese PA Centrale
  60. 60. Generazione entita’ Ricerca per somiglianza ….. Attributi e Tabelle degli Schemi logici Gerarchie E1 PA Piemontese PA Centrale
  61. 61. Generazione entita’ passo finale E1 E2 E3 Attributi e Tabelle E1 E2 E3 ….. PA Centrale PA Piemontese
  62. 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. 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. 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. 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. 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. 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. 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
  69. 69. 69 Esempio simbolico Schema “automatico” Schema dopo verifica referente
  70. 70. 70 Scopi della sperimentazione • Validare la metodologia – Verificare la sua efficienza – Verificare la sua precisione – Valutare l’ efficacia
  71. 71. 71 Efficienza
  72. 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. 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. 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. 75. Cenni sul tool di inferenza • Tool realizzato da Manuel Garasi su analisi di Riccardo Grosso, con la supervisione di Carlo Batini
  76. 76. 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
  77. 77. 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
  78. 78. 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
  79. 79. 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)
  80. 80. Piramide concettuale • Integrazione e astrazione degli schemi base secondo alberi gerarchici a piacere
  81. 81. Lista semilavorati ontologici ad ogni livello • Generalizzazioni, relazioni e attributi usati poi per ottenere ontologie owl
  82. 82. 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
  83. 83. 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
  84. 84. 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
  85. 85. 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
  86. 86. 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
  87. 87. Catalogo agid • Inferenze sul catalogo basi dati agid 93
  88. 88. 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
  89. 89. …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
  90. 90. …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
  91. 91. …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
  92. 92. …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
  93. 93. Gerarchie di entita’ 99
  94. 94. 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
  95. 95. Un frammento di ontologia owl disegnata 101
  96. 96. 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
  97. 97. Entita’ mappate nelle p.a. (ipa) 103
  98. 98. 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
  99. 99. Geontologie bot 105
  100. 100. 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
  101. 101. 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

×