SlideShare uma empresa Scribd logo
1 de 41
Open data in Umbria 
Questo lavoro è pubblicato sotto licenza 
Creative Commons “Attribuzione 3.0 Italia” (CC BY). 
Per visualizzare una copia della licenza visitare il sito: 
http://creative commons.org/licenses/by/3.0/it/ 
#AdUmbria #regioni4digitale 
presentazione per ForumPA 
28/06/2014 v1.0 
dai dataset alle app 
Cristiano Donato 
Tommaso Vicarelli 
Università degli Studi di Perugia 
Presentazione per Linux Day 
Perugia 25/10/2014
Sommario 
1. Gli Open data 
2. Il percorso compiuto da AdUmbria 
3. Sviluppi futuri 
4. CKAN 
5. Utilizzo programmatico dei dati 
6. InUmbria Android APP 
7. Download automatico: CKAN API 
8. Parser JSON e CSV 
9. Conclusioni 
#AdUmbria www.agendadigitale.regione.umbria.it 2
Gli Open Data 
Dato: (dal latino datum che significa letteralmente fatto) è una 
descrizione elementare, spesso codificata, di una cosa, di una 
transazione, di un avvenimento o di altro. [Wikipedia] 
Elaborare i dati porta a conoscere informazioni 
www.svegliamuseo.com 
#AdUmbria www.agendadigitale.regione.umbria.it 3
Gli Open Data 
Dati caratterizzati da alcune proprietà 
• Sono disponibili per l’utilizzo (preferibilmente tramite 
internet) 
• Sono Machine readable 
• Sono riutilizzabili e redistribuibili da tutti 
(partecipazione universale e interoperabilità) 
www.michelecamp.it 
#AdUmbria www.agendadigitale.regione.umbria.it 4
Gli Open Data 
Classificazione di Tim Berners-Lee: 
(★) Una Stella: livello base, dati statici e non 
strutturati 
(★★) Due Stelle. Questo livello indica dati strutturati 
e codificati in un formato proprietario 
(★★★) Tre Stelle. Questo livello indica dati strutturati 
e codificati in un formato aperto. 
(★★★★) Quattro Stelle. Questo livello indica dati 
strutturati in un formato aperto e dotati di un URI che 
li rende indirizzabili sulla rete. 
(★★★★★) Cinque Stelle. Questo livello indica quelli 
che vengono definiti come Linked Open Data 
(LOD). 
http://michellethorne.cc 
#AdUmbria www.agendadigitale.regione.umbria.it 5
Case study 1 - Open Bilanci 
#AdUmbria www.agendadigitale.regione.umbria.it 6 
Gli Open Data 
http://www.openbilanci.it/
#AdUmbria www.agendadigitale.regione.umbria.it 7 
Gli Open Data 
Case study 2 - Open Streetmap 
http://www.openstreetmap.org/relation/42310#map=12/43.1353/12.1928
#AdUmbria www.agendadigitale.regione.umbria.it 8 
Gli Open Data 
Case study 3 - RAW 
http://app.raw.densitydesign.org/#%2F
Il percorso compiuto da AdUmbria 
Data Hunting 
 Individuazione settori d'interesse 
 Colloqui con dirigenti dei settori 
 Ricerca possibili dati da estrarre 
 Analisi della tecnologia alla base 
delle “banche dati” 
#AdUmbria www.agendadigitale.regione.umbria.it 9
Il percorso compiuto da AdUmbria 
Il catalogo dei dataset 
 Compilazione scheda informativa da parte 
dei referenti tecnici 
 Inserimento schede informative nella 
catena di lavorazione o “Dataset Pipeline” 
 Creazione di un catalogo dei metadati 
http://icongal.com 
#AdUmbria www.agendadigitale.regione.umbria.it 10
Il percorso compiuto da AdUmbria 
Data scraping 
 Dati tabulari disponibili in formato PDF (“una stella”) 
 Disponibilità di tool per l'estrazione e la conversione in 
formato “machine readable” di dati statici. 
 Tabula: la soluzione open source 
tabula.nerdpower.org/ 
#AdUmbria www.agendadigitale.regione.umbria.it 11
Il percorso compiuto da AdUmbria 
Validazione – Data cleansing 
 Passo antecedente la pubblicazione 
 Alcuni dati possono essere “sporchi” 
 Necessari tool di data cleansing 
 Strumento open source: Refine 
https://code.google.com/p/google-refine/ 
#AdUmbria www.agendadigitale.regione.umbria.it 12
Quali dati ci sono oggi su dati.umbria.it? 
• Agricoltura 
• Amministrazione 
• Attività produttive 
• Cultura 
• Istruzione 
• Lavoro 
• Opere pubbliche 
• Territorio 
• Turismo 
#AdUmbria www.agendadigitale.regione.umbria.it 13
Extract 
DB2 DW 
#AdUmbria www.agendadigitale.regione.umbria.it 14 
Sviluppi futuri 
Extract Transform Load 
 Tecniche per il recupero e l’aggregazione di dati provenienti da sorgenti diverse 
 Utilizzata per la creazione di Datawarehouse 
 Interazione tra banche dati diverse 
DB1 
DB3 
Load
#AdUmbria www.agendadigitale.regione.umbria.it 15 
Sviluppi futuri 
Linked Open Data 
 Collegare l’informazione la 
rende più completa e 
aumenta il suo valore 
 Ogni «oggetto» viene 
identificato in rete tramite un 
URI ed è sempre disponibile 
 Più oggetti possono essere 
collegati tra loro, per 
migliorare la ricerca di 
informazioni. 
"Ursa Major constellation detail map" di 
http://en.wikipedia.org/wiki/User:B00P & me (SAE1962 10:04, 2 April 
2008 (UTC)) - English Wikipedia, but modified it.. Con licenza Creative 
Commons Attribution-Share Alike 3.0 tramite Wikimedia Commons
#AdUmbria www.agendadigitale.regione.umbria.it 16 
Sviluppi futuri 
Linked Open Data 
"LOD Cloud Diagram as of September 2011" by Anja Jentzsch - Own work. Licensed under 
Creative Commons Attribution-Share Alike 3.0 via Wikimedia Commons-
#AdUmbria www.agendadigitale.regione.umbria.it 17 
Sviluppi futuri 
Monitoraggio 
Main goals 
 Necessario per il miglioramento continuo (modello PDCA) 
 Creazione community e divulgazione culturale 
Main tools 
 Monitoraggio portale con Google Analytics 
 Monitoraggio richieste (Gestione della domanda)
http://ckan.org/ 
The Comprehensive Knowledge Archive Network 
 Hub open source per la raccolta e la gestione della conoscenza 
 Permette di immagazzinare e distribuire dati in vari formati 
 Gestisce anche la presentazione dei dati 
#AdUmbria www.agendadigitale.regione.umbria.it 18
#AdUmbria www.agendadigitale.regione.umbria.it 19 
Principali features (1/2) 
• Presentazione dei dati: 
• Grafici 
• Mappe 
• Anteprima di vari tipi di file 
• CSV 
• JSON 
• PDF 
• … 
http://ckan.org/
http://ckan.org/ 
Principali features (2/2) 
• Possibilità di «agganciare» Google Analytics 
• Disponibile anche strumento interno alla piattaforma 
• «Social buttons» di ADU 
• Feed RSS da blog #Umbriadigitale 
#AdUmbria www.agendadigitale.regione.umbria.it 20
#AdUmbria www.agendadigitale.regione.umbria.it 21 
Pubblicazione 
Ogni dataset contiene: 
• Risorse 
• Metadati 
Le info racchiuse nel 
contenitore sono 
accessibile anche tramite 
chiamata alle API 
http://ckan.org/ 
dati.umbria.it
http://ckan.org/ 
#AdUmbria www.agendadigitale.regione.umbria.it 22 
API 
CKAN mette a disposizione un set di API che consentono (ad esempio): 
•Il recupero di tutte le info associate al dataset come: 
• Metadati 
• URL per download 
•L’inserimento dei dati nel catalogo 
ckan.org
L’accesso ai dati 
• Gli open data sono machine readable 
– Sono in un formato standard 
– Sono in un formato open 
– Possono essere letti e interpretati da una macchina 
- Possono essere letti e interpretati da un essere umano 
#AdUmbria www.agendadigitale.regione.umbria.it 23
MAN vs MACHINE 
•Piccole quantità di dati 
•Elaborazione preimpostate 
•Un dataset alla volta 
•Controllo di versione manuale (soggetta 
a errore umano) 
•Download manuale 
•Il limite è dato dalle funzionalità di 
CKAN 
•Grandi quantità di dati 
•Qualunque tipo di elaborazione 
•Più dataset alla volta 
•Controllo di versione automatico 
•Download automatico 
•Il limite è dato dalla fantasia e le capacità 
dello sviluppatore! 
#AdUmbria www.agendadigitale.regione.umbria.it 24
#AdUmbria www.agendadigitale.regione.umbria.it 25 
THE WINNER IS: 
Machines
#AdUmbria www.agendadigitale.regione.umbria.it 26 
THE WINNER IS: 
Machines with a heart!
InUmbria Android APP 
https://play.google.com/store/apps/details?id=it.pg.avolta.inumbria 
• Ha avuto scopi didattici 
(stage ITIS A VOLTA) 
#AdUmbria www.agendadigitale.regione.umbria.it 27
InUmbria Android APP 
https://play.google.com/store/apps/details?id=it.pg.avolta.inumbria 
• Ha avuto scopi didattici 
(stage ITIS A VOLTA) 
• E’ il primo esempio di 
utilizzo degli opendata della 
Regione Umbria 
#AdUmbria www.agendadigitale.regione.umbria.it 28
InUmbria Android APP 
https://play.google.com/store/apps/details?id=it.pg.avolta.inumbria 
• Ha avuto scopi didattici 
(stage ITIS A VOLTA) 
• E’ il primo esempio di 
utilizzo degli opendata della 
Regione Umbria 
• Valorizza il territorio 
(luoghi della cultura in 
Umbria) 
#AdUmbria www.agendadigitale.regione.umbria.it 29
InUmbria Android APP 
• Download delle risorse da CKAN 
• Parsing del dataset 
• Visualizzazione su Android 
http://json.org/ 
#AdUmbria www.agendadigitale.regione.umbria.it 30 
http://ckan.org/ 
http://opencsv.sourceforge.net/ 
http://www.android.com/ 
CC BY 3.0
CKAN API 
• CKAN offre delle API RESTful JSON 
– Chiamate e risposte http 
– Messaggi JSON 
http://www.chemaxon.com/ 
#AdUmbria www.agendadigitale.regione.umbria.it 31
CKAN API 
• Funzionalità delle API di CKAN: 
http://ckan.org/ 
– Richiedere la lista di tutti i dataset, delle categorie o dei tag 
– Richiedere la rappresentazione di un elemento 
– Effettuare una ricerca 
– Richiedere la lista delle ultime attività sui dataset 
– Creare, aggiornare e eliminare dataset, risorse e altri elementi 
– Interrogare un dataset (ricerche e filtri) 
– Statistiche 
– CSV e JSON dump 
– Scrivere un dataset 
#AdUmbria www.agendadigitale.regione.umbria.it 32
CKAN API - esempio 
http://ckan.org/ 
http://dati.umbria.it/api/action/datastore_search?resource_id=ccdc8f3e-8b48-4072-adc4-#AdUmbria www.agendadigitale.regione.umbria.it 33
Effettuare una chiamata con Java 
String urlToRead = 
"http://dati.umbria.it/api/action/datastore_search? 
resource_id=ccdc8f3e-8b48-4072-adc4-2e686bfe90e3"; 
URL url = new URL(urlToRead); 
HttpURLConnection conn = (HttpURLConnection) url.openConnection(); 
conn.setRequestMethod("GET"); 
BufferedReader rd = new BufferedReader(new 
InputStreamReader(conn.getInputStream())); 
String line; 
String result = ""; 
while ((line = rd.readLine()) != null) { 
result += line; 
} 
https://www.java.com 
#AdUmbria www.agendadigitale.regione.umbria.it 34
Parsing del dataset csv (opencsv) 
CSVReader reader = null; 
List<Luogo> listaLuogo = new ArrayList<Luogo>(); 
try { 
InputStream is = 
activity.getResources().openRawResource(R.raw.opendata_musei); 
InputStreamReader isr = new InputStreamReader(is); 
reader = new CSVReader(isr, ';'); 
String[] nextLine = reader.readNext(); 
nextLine = reader.readNext(); 
while (nextLine != null) { 
Luogo l = new Luogo(); 
l.setId(Integer.parseInt(nextLine[0])); 
l.setComune(nextLine[1]); 
//[…] 
#AdUmbria www.agendadigitale.regione.umbria.it 35
Parsing del dataset csv (opencsv) 
//[…] 
Luogo l = new Luogo(); 
l.setId(Integer.parseInt(nextLine[0])); 
l.setComune(nextLine[1]); 
l.setProvincia(nextLine[2]); 
l.setNomeMuseo(nextLine[3]); 
l.setIndirizzo(nextLine[4]); 
l.setNumeroCivico(nextLine[5]); 
l.setCap(nextLine[6]); 
l.setX(Double.parseDouble(nextLine[7])); 
l.setY(Double.parseDouble(nextLine[8])); 
l.setProprieta(nextLine[9]); 
l.setSitoWeb(nextLine[10]); 
l.setEmail(nextLine[11]); 
l.setNumeroTelefono(nextLine[12]); 
l.setNumeroFax(nextLine[13]); 
l.setTelefonoPrenotazione(nextLine[ 
14]); 
l.setEmailPrenotazione(nextLine[15] 
); 
listaLuogo.add(l); 
nextLine = reader.readNext(); 
}//end while 
return listaLuogo; 
} finally { 
if (reader != null) 
reader.close(); 
} 
#AdUmbria www.agendadigitale.regione.umbria.it 36
Parsing del dataset (json) 
String in; 
JSONObject reader = new JSONObject(dataset); 
JSONArray records = 
reader.getJSONObject("result").getJSONArray("records"); 
List<Luogo> listaLuogo = new ArrayList<Luogo>(); 
for(int i=0; i < records.length(); i++) { 
Luogo l = new Luogo(); 
JSONObject record = records.getJSONObject(i); 
l.setComune(record.getString(0)); 
//[…] 
l.setTelefonoPrenotazione(record.getString(14)); 
listaLuogo.add(l); 
• } } 
#AdUmbria www.agendadigitale.regione.umbria.it 37
InUmbria Android APP 
https://play.google.com/store/apps/details?id=it.pg.avolta.inumbria 
#AdUmbria www.agendadigitale.regione.umbria.it 38
Conclusioni 
• Il rilascio di opendata aiuta ad avere una PA 
trasparente (veramente) e focalizzata sul 
cittadino 
• Le licenze open consentono qualsiasi 
elaborazione (anche a scopi commerciali) 
• Le tecnologie open e gli standard 
permettono di accedere rapidamente ai 
dati e elaborarli secondo le necessità 
#AdUmbria www.agendadigitale.regione.umbria.it 39
E se non ci sono i dati che mi 
interessano? 
Si possono richiedere a 
opendata@regione.umbria.it 
o 
su twitter @ADUmbria 
#AdUmbria www.agendadigitale.regione.umbria.it 40
Riferimenti 
Dott.Cristiano Donato 
Email: cristiano.donato88@gmail.com 
Twitter: @dcristiano88 
ing. Tommaso Vicarelli 
Email: t.vicarelli@gmail.com 
Twitter: @VicarelliT 
Linkedin: 
it.linkedin.com/pub/tommaso-vicarelli/ 
www.agendadigitale.regione.umbria.it 
#AdUmbria www.agendadigitale.regione.umbria.it 41

Mais conteúdo relacionado

Semelhante a Linux Day 2014: open data in Umbria - dai dataset alle app

I dati geografici aperti del Comune di Vicenza: ricadute pratiche e riscontri...
I dati geografici aperti del Comune di Vicenza: ricadute pratiche e riscontri...I dati geografici aperti del Comune di Vicenza: ricadute pratiche e riscontri...
I dati geografici aperti del Comune di Vicenza: ricadute pratiche e riscontri...
OpenGeoDataItalia
 

Semelhante a Linux Day 2014: open data in Umbria - dai dataset alle app (20)

#AdUmbria2015 - workshop openness: gli open data
#AdUmbria2015 - workshop openness: gli open data#AdUmbria2015 - workshop openness: gli open data
#AdUmbria2015 - workshop openness: gli open data
 
I luoghi degli "open data"
I luoghi degli "open data"I luoghi degli "open data"
I luoghi degli "open data"
 
ODISI, Open Data Infrastructure for Spatial Interaction
ODISI, Open Data Infrastructure for Spatial Interaction ODISI, Open Data Infrastructure for Spatial Interaction
ODISI, Open Data Infrastructure for Spatial Interaction
 
Slide ACTIVE - Digital Asset Management - Collana Seminari CRS4 2015
Slide ACTIVE - Digital Asset Management - Collana Seminari CRS4 2015Slide ACTIVE - Digital Asset Management - Collana Seminari CRS4 2015
Slide ACTIVE - Digital Asset Management - Collana Seminari CRS4 2015
 
Smart Data Platform: dagli open data all'Internet Of Things
Smart Data Platform: dagli open data all'Internet Of ThingsSmart Data Platform: dagli open data all'Internet Of Things
Smart Data Platform: dagli open data all'Internet Of Things
 
#Opendata in action il ciclo dei dati
#Opendata in action   il ciclo dei dati#Opendata in action   il ciclo dei dati
#Opendata in action il ciclo dei dati
 
Open data l'esperienza del Comune di Firenze
Open data  l'esperienza del Comune di FirenzeOpen data  l'esperienza del Comune di Firenze
Open data l'esperienza del Comune di Firenze
 
Andrea Gazzarini "Linked Data in Practice: risorse, strumenti ed utilizzi"
Andrea Gazzarini "Linked Data in Practice: risorse, strumenti ed utilizzi"Andrea Gazzarini "Linked Data in Practice: risorse, strumenti ed utilizzi"
Andrea Gazzarini "Linked Data in Practice: risorse, strumenti ed utilizzi"
 
Practical Linked Data: risorse, strumenti, utilizzi
Practical Linked Data: risorse, strumenti, utilizziPractical Linked Data: risorse, strumenti, utilizzi
Practical Linked Data: risorse, strumenti, utilizzi
 
Il movimento Open Data e i suoi effetti su P.A., aziende e società
Il movimento Open Data e i suoi effetti su P.A., aziende e societàIl movimento Open Data e i suoi effetti su P.A., aziende e società
Il movimento Open Data e i suoi effetti su P.A., aziende e società
 
Cavallo csipiemonte 29_06_2015
Cavallo csipiemonte 29_06_2015Cavallo csipiemonte 29_06_2015
Cavallo csipiemonte 29_06_2015
 
Presentazione del progetto ODINet
Presentazione del progetto ODINetPresentazione del progetto ODINet
Presentazione del progetto ODINet
 
Il progetto INNO: dal dato alla applicazione - Pierluigi Cau (CRS4)
Il progetto INNO: dal dato alla applicazione - Pierluigi Cau (CRS4)Il progetto INNO: dal dato alla applicazione - Pierluigi Cau (CRS4)
Il progetto INNO: dal dato alla applicazione - Pierluigi Cau (CRS4)
 
VisualDDHub - final approach
VisualDDHub - final approachVisualDDHub - final approach
VisualDDHub - final approach
 
Sistema si navigazione mobile per il turismo culturale con riuso di Open Data
Sistema si navigazione mobile per il turismo culturale con riuso di Open DataSistema si navigazione mobile per il turismo culturale con riuso di Open Data
Sistema si navigazione mobile per il turismo culturale con riuso di Open Data
 
Open data Firenze - opendata.comune.fi.it
Open data Firenze - opendata.comune.fi.itOpen data Firenze - opendata.comune.fi.it
Open data Firenze - opendata.comune.fi.it
 
I dati geografici aperti del Comune di Vicenza: ricadute pratiche e riscontri...
I dati geografici aperti del Comune di Vicenza: ricadute pratiche e riscontri...I dati geografici aperti del Comune di Vicenza: ricadute pratiche e riscontri...
I dati geografici aperti del Comune di Vicenza: ricadute pratiche e riscontri...
 
20080204 Avvio Dottorato P4
20080204 Avvio Dottorato P420080204 Avvio Dottorato P4
20080204 Avvio Dottorato P4
 
Data &amp; analytics framework malerba
Data &amp; analytics framework   malerbaData &amp; analytics framework   malerba
Data &amp; analytics framework malerba
 
(LINKED) OPEN DATA A FIRENZE
(LINKED) OPEN DATA A FIRENZE(LINKED) OPEN DATA A FIRENZE
(LINKED) OPEN DATA A FIRENZE
 

Mais de Agenda digitale Umbria

Mais de Agenda digitale Umbria (20)

Brochure: "Banche dati geografiche della toponomastica, numerazione civica e ...
Brochure: "Banche dati geografiche della toponomastica, numerazione civica e ...Brochure: "Banche dati geografiche della toponomastica, numerazione civica e ...
Brochure: "Banche dati geografiche della toponomastica, numerazione civica e ...
 
Programma di interventi per l'accesso unico ai servizi delle P.A. dell'Umbria
Programma di interventi per l'accesso unico ai servizi delle P.A. dell'UmbriaProgramma di interventi per l'accesso unico ai servizi delle P.A. dell'Umbria
Programma di interventi per l'accesso unico ai servizi delle P.A. dell'Umbria
 
Accesso Unitario per le imprese
Accesso Unitario per le impreseAccesso Unitario per le imprese
Accesso Unitario per le imprese
 
SUS - Sportello servizi Regione Autonoma Sardegna
SUS - Sportello servizi Regione Autonoma SardegnaSUS - Sportello servizi Regione Autonoma Sardegna
SUS - Sportello servizi Regione Autonoma Sardegna
 
REGIONE MARCHE: accesso integrato ai servizi del sisma
REGIONE MARCHE: accesso integrato ai servizi del sismaREGIONE MARCHE: accesso integrato ai servizi del sisma
REGIONE MARCHE: accesso integrato ai servizi del sisma
 
Semplificare attraverso le reti: dal Gruppo Tecnico SUAP al Centro di Compete...
Semplificare attraverso le reti: dal Gruppo Tecnico SUAP al Centro di Compete...Semplificare attraverso le reti: dal Gruppo Tecnico SUAP al Centro di Compete...
Semplificare attraverso le reti: dal Gruppo Tecnico SUAP al Centro di Compete...
 
I servizi finanziari dei Comuni fra dematerializzazione e logica dell'adempim...
I servizi finanziari dei Comuni fra dematerializzazione e logica dell'adempim...I servizi finanziari dei Comuni fra dematerializzazione e logica dell'adempim...
I servizi finanziari dei Comuni fra dematerializzazione e logica dell'adempim...
 
Strumenti per la Semplificazione
Strumenti per la SemplificazioneStrumenti per la Semplificazione
Strumenti per la Semplificazione
 
Progetti nazionali a supporto della semplificazione
Progetti nazionali a supporto della semplificazioneProgetti nazionali a supporto della semplificazione
Progetti nazionali a supporto della semplificazione
 
Front-end VBG per SUAPE 3.0 nei comuni
Front-end VBG per SUAPE 3.0 nei comuniFront-end VBG per SUAPE 3.0 nei comuni
Front-end VBG per SUAPE 3.0 nei comuni
 
Front-end Unico per la presentazione delle istanze
Front-end Unico per la presentazione delle istanzeFront-end Unico per la presentazione delle istanze
Front-end Unico per la presentazione delle istanze
 
La digitalizzazione dei piani regolatori. Il punto di vista dei comuni - Comu...
La digitalizzazione dei piani regolatori. Il punto di vista dei comuni - Comu...La digitalizzazione dei piani regolatori. Il punto di vista dei comuni - Comu...
La digitalizzazione dei piani regolatori. Il punto di vista dei comuni - Comu...
 
Il visualizzatore regionale dei PRG - versione beta
Il visualizzatore regionale dei PRG - versione betaIl visualizzatore regionale dei PRG - versione beta
Il visualizzatore regionale dei PRG - versione beta
 
Linee guida per la costruzione di una infrastruttura geografica di servizio p...
Linee guida per la costruzione di una infrastruttura geografica di servizio p...Linee guida per la costruzione di una infrastruttura geografica di servizio p...
Linee guida per la costruzione di una infrastruttura geografica di servizio p...
 
UmbriaFacile. Il Portale dell’accesso unico. Versione Beta
UmbriaFacile. Il Portale dell’accesso unico. Versione BetaUmbriaFacile. Il Portale dell’accesso unico. Versione Beta
UmbriaFacile. Il Portale dell’accesso unico. Versione Beta
 
Processi attuativi dell'Accesso unico nel quadro della CN-Umbria
Processi attuativi dell'Accesso unico nel quadro della CN-UmbriaProcessi attuativi dell'Accesso unico nel quadro della CN-Umbria
Processi attuativi dell'Accesso unico nel quadro della CN-Umbria
 
Realizzare l'infrastruttura digitale
Realizzare l'infrastruttura digitaleRealizzare l'infrastruttura digitale
Realizzare l'infrastruttura digitale
 
Piano triennale ICT nazionale e relativo monitoraggio
Piano triennale ICT nazionale e relativo monitoraggioPiano triennale ICT nazionale e relativo monitoraggio
Piano triennale ICT nazionale e relativo monitoraggio
 
Il BIM ed il patrimonio pubblico esistente
Il BIM ed il patrimonio pubblico esistenteIl BIM ed il patrimonio pubblico esistente
Il BIM ed il patrimonio pubblico esistente
 
La digital trasformation nel mondo dei servizi, turismo e commercio
La digital trasformation nel mondo dei servizi, turismo e commercioLa digital trasformation nel mondo dei servizi, turismo e commercio
La digital trasformation nel mondo dei servizi, turismo e commercio
 

Linux Day 2014: open data in Umbria - dai dataset alle app

  • 1. Open data in Umbria Questo lavoro è pubblicato sotto licenza Creative Commons “Attribuzione 3.0 Italia” (CC BY). Per visualizzare una copia della licenza visitare il sito: http://creative commons.org/licenses/by/3.0/it/ #AdUmbria #regioni4digitale presentazione per ForumPA 28/06/2014 v1.0 dai dataset alle app Cristiano Donato Tommaso Vicarelli Università degli Studi di Perugia Presentazione per Linux Day Perugia 25/10/2014
  • 2. Sommario 1. Gli Open data 2. Il percorso compiuto da AdUmbria 3. Sviluppi futuri 4. CKAN 5. Utilizzo programmatico dei dati 6. InUmbria Android APP 7. Download automatico: CKAN API 8. Parser JSON e CSV 9. Conclusioni #AdUmbria www.agendadigitale.regione.umbria.it 2
  • 3. Gli Open Data Dato: (dal latino datum che significa letteralmente fatto) è una descrizione elementare, spesso codificata, di una cosa, di una transazione, di un avvenimento o di altro. [Wikipedia] Elaborare i dati porta a conoscere informazioni www.svegliamuseo.com #AdUmbria www.agendadigitale.regione.umbria.it 3
  • 4. Gli Open Data Dati caratterizzati da alcune proprietà • Sono disponibili per l’utilizzo (preferibilmente tramite internet) • Sono Machine readable • Sono riutilizzabili e redistribuibili da tutti (partecipazione universale e interoperabilità) www.michelecamp.it #AdUmbria www.agendadigitale.regione.umbria.it 4
  • 5. Gli Open Data Classificazione di Tim Berners-Lee: (★) Una Stella: livello base, dati statici e non strutturati (★★) Due Stelle. Questo livello indica dati strutturati e codificati in un formato proprietario (★★★) Tre Stelle. Questo livello indica dati strutturati e codificati in un formato aperto. (★★★★) Quattro Stelle. Questo livello indica dati strutturati in un formato aperto e dotati di un URI che li rende indirizzabili sulla rete. (★★★★★) Cinque Stelle. Questo livello indica quelli che vengono definiti come Linked Open Data (LOD). http://michellethorne.cc #AdUmbria www.agendadigitale.regione.umbria.it 5
  • 6. Case study 1 - Open Bilanci #AdUmbria www.agendadigitale.regione.umbria.it 6 Gli Open Data http://www.openbilanci.it/
  • 7. #AdUmbria www.agendadigitale.regione.umbria.it 7 Gli Open Data Case study 2 - Open Streetmap http://www.openstreetmap.org/relation/42310#map=12/43.1353/12.1928
  • 8. #AdUmbria www.agendadigitale.regione.umbria.it 8 Gli Open Data Case study 3 - RAW http://app.raw.densitydesign.org/#%2F
  • 9. Il percorso compiuto da AdUmbria Data Hunting  Individuazione settori d'interesse  Colloqui con dirigenti dei settori  Ricerca possibili dati da estrarre  Analisi della tecnologia alla base delle “banche dati” #AdUmbria www.agendadigitale.regione.umbria.it 9
  • 10. Il percorso compiuto da AdUmbria Il catalogo dei dataset  Compilazione scheda informativa da parte dei referenti tecnici  Inserimento schede informative nella catena di lavorazione o “Dataset Pipeline”  Creazione di un catalogo dei metadati http://icongal.com #AdUmbria www.agendadigitale.regione.umbria.it 10
  • 11. Il percorso compiuto da AdUmbria Data scraping  Dati tabulari disponibili in formato PDF (“una stella”)  Disponibilità di tool per l'estrazione e la conversione in formato “machine readable” di dati statici.  Tabula: la soluzione open source tabula.nerdpower.org/ #AdUmbria www.agendadigitale.regione.umbria.it 11
  • 12. Il percorso compiuto da AdUmbria Validazione – Data cleansing  Passo antecedente la pubblicazione  Alcuni dati possono essere “sporchi”  Necessari tool di data cleansing  Strumento open source: Refine https://code.google.com/p/google-refine/ #AdUmbria www.agendadigitale.regione.umbria.it 12
  • 13. Quali dati ci sono oggi su dati.umbria.it? • Agricoltura • Amministrazione • Attività produttive • Cultura • Istruzione • Lavoro • Opere pubbliche • Territorio • Turismo #AdUmbria www.agendadigitale.regione.umbria.it 13
  • 14. Extract DB2 DW #AdUmbria www.agendadigitale.regione.umbria.it 14 Sviluppi futuri Extract Transform Load  Tecniche per il recupero e l’aggregazione di dati provenienti da sorgenti diverse  Utilizzata per la creazione di Datawarehouse  Interazione tra banche dati diverse DB1 DB3 Load
  • 15. #AdUmbria www.agendadigitale.regione.umbria.it 15 Sviluppi futuri Linked Open Data  Collegare l’informazione la rende più completa e aumenta il suo valore  Ogni «oggetto» viene identificato in rete tramite un URI ed è sempre disponibile  Più oggetti possono essere collegati tra loro, per migliorare la ricerca di informazioni. "Ursa Major constellation detail map" di http://en.wikipedia.org/wiki/User:B00P & me (SAE1962 10:04, 2 April 2008 (UTC)) - English Wikipedia, but modified it.. Con licenza Creative Commons Attribution-Share Alike 3.0 tramite Wikimedia Commons
  • 16. #AdUmbria www.agendadigitale.regione.umbria.it 16 Sviluppi futuri Linked Open Data "LOD Cloud Diagram as of September 2011" by Anja Jentzsch - Own work. Licensed under Creative Commons Attribution-Share Alike 3.0 via Wikimedia Commons-
  • 17. #AdUmbria www.agendadigitale.regione.umbria.it 17 Sviluppi futuri Monitoraggio Main goals  Necessario per il miglioramento continuo (modello PDCA)  Creazione community e divulgazione culturale Main tools  Monitoraggio portale con Google Analytics  Monitoraggio richieste (Gestione della domanda)
  • 18. http://ckan.org/ The Comprehensive Knowledge Archive Network  Hub open source per la raccolta e la gestione della conoscenza  Permette di immagazzinare e distribuire dati in vari formati  Gestisce anche la presentazione dei dati #AdUmbria www.agendadigitale.regione.umbria.it 18
  • 19. #AdUmbria www.agendadigitale.regione.umbria.it 19 Principali features (1/2) • Presentazione dei dati: • Grafici • Mappe • Anteprima di vari tipi di file • CSV • JSON • PDF • … http://ckan.org/
  • 20. http://ckan.org/ Principali features (2/2) • Possibilità di «agganciare» Google Analytics • Disponibile anche strumento interno alla piattaforma • «Social buttons» di ADU • Feed RSS da blog #Umbriadigitale #AdUmbria www.agendadigitale.regione.umbria.it 20
  • 21. #AdUmbria www.agendadigitale.regione.umbria.it 21 Pubblicazione Ogni dataset contiene: • Risorse • Metadati Le info racchiuse nel contenitore sono accessibile anche tramite chiamata alle API http://ckan.org/ dati.umbria.it
  • 22. http://ckan.org/ #AdUmbria www.agendadigitale.regione.umbria.it 22 API CKAN mette a disposizione un set di API che consentono (ad esempio): •Il recupero di tutte le info associate al dataset come: • Metadati • URL per download •L’inserimento dei dati nel catalogo ckan.org
  • 23. L’accesso ai dati • Gli open data sono machine readable – Sono in un formato standard – Sono in un formato open – Possono essere letti e interpretati da una macchina - Possono essere letti e interpretati da un essere umano #AdUmbria www.agendadigitale.regione.umbria.it 23
  • 24. MAN vs MACHINE •Piccole quantità di dati •Elaborazione preimpostate •Un dataset alla volta •Controllo di versione manuale (soggetta a errore umano) •Download manuale •Il limite è dato dalle funzionalità di CKAN •Grandi quantità di dati •Qualunque tipo di elaborazione •Più dataset alla volta •Controllo di versione automatico •Download automatico •Il limite è dato dalla fantasia e le capacità dello sviluppatore! #AdUmbria www.agendadigitale.regione.umbria.it 24
  • 26. #AdUmbria www.agendadigitale.regione.umbria.it 26 THE WINNER IS: Machines with a heart!
  • 27. InUmbria Android APP https://play.google.com/store/apps/details?id=it.pg.avolta.inumbria • Ha avuto scopi didattici (stage ITIS A VOLTA) #AdUmbria www.agendadigitale.regione.umbria.it 27
  • 28. InUmbria Android APP https://play.google.com/store/apps/details?id=it.pg.avolta.inumbria • Ha avuto scopi didattici (stage ITIS A VOLTA) • E’ il primo esempio di utilizzo degli opendata della Regione Umbria #AdUmbria www.agendadigitale.regione.umbria.it 28
  • 29. InUmbria Android APP https://play.google.com/store/apps/details?id=it.pg.avolta.inumbria • Ha avuto scopi didattici (stage ITIS A VOLTA) • E’ il primo esempio di utilizzo degli opendata della Regione Umbria • Valorizza il territorio (luoghi della cultura in Umbria) #AdUmbria www.agendadigitale.regione.umbria.it 29
  • 30. InUmbria Android APP • Download delle risorse da CKAN • Parsing del dataset • Visualizzazione su Android http://json.org/ #AdUmbria www.agendadigitale.regione.umbria.it 30 http://ckan.org/ http://opencsv.sourceforge.net/ http://www.android.com/ CC BY 3.0
  • 31. CKAN API • CKAN offre delle API RESTful JSON – Chiamate e risposte http – Messaggi JSON http://www.chemaxon.com/ #AdUmbria www.agendadigitale.regione.umbria.it 31
  • 32. CKAN API • Funzionalità delle API di CKAN: http://ckan.org/ – Richiedere la lista di tutti i dataset, delle categorie o dei tag – Richiedere la rappresentazione di un elemento – Effettuare una ricerca – Richiedere la lista delle ultime attività sui dataset – Creare, aggiornare e eliminare dataset, risorse e altri elementi – Interrogare un dataset (ricerche e filtri) – Statistiche – CSV e JSON dump – Scrivere un dataset #AdUmbria www.agendadigitale.regione.umbria.it 32
  • 33. CKAN API - esempio http://ckan.org/ http://dati.umbria.it/api/action/datastore_search?resource_id=ccdc8f3e-8b48-4072-adc4-#AdUmbria www.agendadigitale.regione.umbria.it 33
  • 34. Effettuare una chiamata con Java String urlToRead = "http://dati.umbria.it/api/action/datastore_search? resource_id=ccdc8f3e-8b48-4072-adc4-2e686bfe90e3"; URL url = new URL(urlToRead); HttpURLConnection conn = (HttpURLConnection) url.openConnection(); conn.setRequestMethod("GET"); BufferedReader rd = new BufferedReader(new InputStreamReader(conn.getInputStream())); String line; String result = ""; while ((line = rd.readLine()) != null) { result += line; } https://www.java.com #AdUmbria www.agendadigitale.regione.umbria.it 34
  • 35. Parsing del dataset csv (opencsv) CSVReader reader = null; List<Luogo> listaLuogo = new ArrayList<Luogo>(); try { InputStream is = activity.getResources().openRawResource(R.raw.opendata_musei); InputStreamReader isr = new InputStreamReader(is); reader = new CSVReader(isr, ';'); String[] nextLine = reader.readNext(); nextLine = reader.readNext(); while (nextLine != null) { Luogo l = new Luogo(); l.setId(Integer.parseInt(nextLine[0])); l.setComune(nextLine[1]); //[…] #AdUmbria www.agendadigitale.regione.umbria.it 35
  • 36. Parsing del dataset csv (opencsv) //[…] Luogo l = new Luogo(); l.setId(Integer.parseInt(nextLine[0])); l.setComune(nextLine[1]); l.setProvincia(nextLine[2]); l.setNomeMuseo(nextLine[3]); l.setIndirizzo(nextLine[4]); l.setNumeroCivico(nextLine[5]); l.setCap(nextLine[6]); l.setX(Double.parseDouble(nextLine[7])); l.setY(Double.parseDouble(nextLine[8])); l.setProprieta(nextLine[9]); l.setSitoWeb(nextLine[10]); l.setEmail(nextLine[11]); l.setNumeroTelefono(nextLine[12]); l.setNumeroFax(nextLine[13]); l.setTelefonoPrenotazione(nextLine[ 14]); l.setEmailPrenotazione(nextLine[15] ); listaLuogo.add(l); nextLine = reader.readNext(); }//end while return listaLuogo; } finally { if (reader != null) reader.close(); } #AdUmbria www.agendadigitale.regione.umbria.it 36
  • 37. Parsing del dataset (json) String in; JSONObject reader = new JSONObject(dataset); JSONArray records = reader.getJSONObject("result").getJSONArray("records"); List<Luogo> listaLuogo = new ArrayList<Luogo>(); for(int i=0; i < records.length(); i++) { Luogo l = new Luogo(); JSONObject record = records.getJSONObject(i); l.setComune(record.getString(0)); //[…] l.setTelefonoPrenotazione(record.getString(14)); listaLuogo.add(l); • } } #AdUmbria www.agendadigitale.regione.umbria.it 37
  • 38. InUmbria Android APP https://play.google.com/store/apps/details?id=it.pg.avolta.inumbria #AdUmbria www.agendadigitale.regione.umbria.it 38
  • 39. Conclusioni • Il rilascio di opendata aiuta ad avere una PA trasparente (veramente) e focalizzata sul cittadino • Le licenze open consentono qualsiasi elaborazione (anche a scopi commerciali) • Le tecnologie open e gli standard permettono di accedere rapidamente ai dati e elaborarli secondo le necessità #AdUmbria www.agendadigitale.regione.umbria.it 39
  • 40. E se non ci sono i dati che mi interessano? Si possono richiedere a opendata@regione.umbria.it o su twitter @ADUmbria #AdUmbria www.agendadigitale.regione.umbria.it 40
  • 41. Riferimenti Dott.Cristiano Donato Email: cristiano.donato88@gmail.com Twitter: @dcristiano88 ing. Tommaso Vicarelli Email: t.vicarelli@gmail.com Twitter: @VicarelliT Linkedin: it.linkedin.com/pub/tommaso-vicarelli/ www.agendadigitale.regione.umbria.it #AdUmbria www.agendadigitale.regione.umbria.it 41