di 

Una nuvola di dati pronta per generare nuovi business... il paradiso dei programmatori

Il 20 novembre scorso ha aperto ufficialmente il contest Appsforitaly, il concorso aperto a cittadini, associazioni, comunità di sviluppatori e aziende per progettare soluzioni utili e interessanti basate sull’utilizzo di dati pubblici, capaci di mostrare a tutta la società il valore del patrimonio informativo pubblico. Sul rapporto tra open data e web semantico e sulle opportunità che questi nuovi scenari potrebbero aprire, Gianluigi Cogo, segretario generale dell’associazione opengovitalia, ha intervistato Matteo Brunati di IWA Italy (International Webmasters Association Italy) esperto di semantic web.

Il 20 novembre scorso ha aperto ufficialmente il contest Appsforitaly, il concorso aperto a cittadini, associazioni, comunità di sviluppatori e aziende per progettare soluzioni utili e interessanti basate sull’utilizzo di dati pubblici, capaci di mostrare a tutta la società il valore del patrimonio informativo pubblico. Sul rapporto tra open data e web semantico e sulle opportunità che questi nuovi scenari potrebbero aprire, Gianluigi Cogo, segretario generale dell’associazione opengovitalia, ha intervistato Matteo Brunati di IWA Italy (International Webmasters Association Italy) esperto di semantic web.

Quanti e quali sono i cataloghi di dati aperti a cui uno sviluppatore può attingere per sviluppare un applicazione che risulti vantaggiosa per cittadini, istituzioni e imprese?

I principali cataloghi di dati aperti sono quelli pubblicati sul portale ufficiale degli Open Data italiano, dati.gov.it, e sui portali regionali della Regione Piemonte e della Regione Emilia Romagna. Altri sono quelli di Spaghetti Open Data e la versione italiana dell'aggregatore di dati aperti europeo it.ckan.net. Questi sono i cataloghi principali, poi in realtà per il contest AppsforItaly si può e si dovrebbe stimolare l'apertura dei dati, facendo "scraping" dei dati già presenti nei siti. Significa elaborare in maniera automatica delle estrazioni dai siti pubblici dei dati presenti, che però non sono ancora stati rilasciati e quindi elencati nei cataloghi. Esistono ad esempio servizi per facilitare questo tipo di lavoro, come Scraping Wiki. Tutto questo perché non basta avere i dati aperti già a disposizione, ma la creatività dei singoli e delle imprese devono stimolare l'apertuta di nuovi dataset. Non sempre ci si rende conto che i dati dei siti sono comunque pubblicati, anche se per usarli occorre fare del lavoro ulteriore.

Questi cataloghi prevedono per i dataset una caratterizzazione semantica? C'è uno standard per descrivere un catalogo di dati e renderlo interpretabile da uomini e macchine?

Vediamo di chiarire un po' le cose. Una cosa sono i cataloghi, ed un'altra sono i dati. In generale c'è uno standard per descrivere le cose del mondo in modo che sia comprensibile prima dalle macchine e poi da noi umani. Si chiama RDF ed è uno dei mattoncini che vanno a formare il Web of Data, una dimensione tecnica del Web più evoluta di quella che noi tutti usiamo, e che esiste già oggi in piccole porzioni. Un altro nome con cui si denota il Web of Data è Semantic Web, un altro è Linked Data: poco importa. L'idea di fondo è stata già incontrata dai lettori di FORUM PA, ma è utile ribadirla. Tramite RDF riesco a dare delle singole caratteristiche alle cose del mondo, come l'analisi logica che imparavamo a scuola, alle elementari. Soggetto, verbo e complemento oggetto. La differenza è che i nomi oggi per essere universalmente riconosciuti hanno bisogno di essere un URI, cioè un nome che inizia per http://. Con questo meccanismo posso creare della conoscenza accessibile alle macchine, in maniera universale. E creare poi delle versioni comprensibili a noi umani.

Tutto questo vale anche per i cataloghi di dati. In questo caso serve mettersi d'accordo su alcune proprietà di base: il nome del catalogo, chi ne è il responsabile, la licenza associata, il formato dei dati di cui si sta parlando, gli argomenti di cui parlano questi particolari dati e via dicendo. Il primo passo per questi cataloghi è utilizzare le stesse forme di metadati, ovvero banalmente gli stessi campi descrittivi dei datasets. Al momento lo standard de facto della catalogazione a livello europeo è rappresentato dal CKAN, oggi thedatahub.org. Viene usato tra gli altri anche come backend del famoso data.gov.uk, e dal catalogo generale publicdata.eu. Il secondo step in corso d'opera è rendere questo catalogo e questi metadati interpretabili come Linked Data, attraverso la loro semanticizzazione. In effetti con CKAN questo passo è stato fatto relativamente da poco. Una volta raggiunto questo livello, possiamo immaginare programmi, e le famose apps, ma anche servizi web, che possano interrogare in maniera automatica i dati online, automatizzando attività che oggi dobbiamo fare manualmente.

Questi cataloghi si possono federare fra loro? Che attenzioni e tecnologie bisogna mettere in campo?

Il concetto di data federation è abbastanza semplice, tutto sommato: l'idea di base è che pian piano si usi la Rete come un immenso ed unico database, interrogandolo su opportuni punti di accesso, non importa molto da dove, in maniera semplice e automatica. Questo avviene attraverso la semanticizzazione e gli standard adottati a livello di API, quindi di porte che i programmatori possano interrogare per recepire i dati. Ma soprattutto sono i dati nella nuvola, che possono parlare tra loro, aggiornandosi quando necessario. Sono aspetti ancora in corso di standardizzazione, ma l'Unione Europea sta finanziando da diversi anni la gestione della nuvola di dati semantici, a disposizione della collettività. Le tecnologie chiave sono l'utilizzo di endpoint SPARQL, che per noi umani è sia un punto di accesso per interrogare i dati (come il linguaggio SQL per dialogare con i singoli database), sia un protocollo di accesso e di pubblicazione, interrogabile anche dai programmi.

Ad oggi su questo tema è interessante vedere come siano nate filiere nuove per mantenere queste nuvole di dati, che sono per lo più un nuovo tipo di bene comune, di commons, che in effetti le fondazioni riescono a gestire ed a difendere in maniera egregia. Perché la federazione di questi dati crea qualcosa che è di tutti, stante le licenze in uso relative agli Open Data, e quindi crea delle aspettative diverse anche dal lato organizzativo e di business. Le fondazioni e le società non a scopo di lucro sono una tipologia interessante e vicina a questi temi, in effetti. Quindi non solo attenzioni tecnologiche, ma anche sociali: siamo nel campo dell'innovazione sociale a tutto tondo.

Mi sembra di capire che una condivisione di metadati descrittivi e dizionari semantici in ottica di "ontologie ufficiali e certificate" sarebbe un passo importante? Come ci si può arrivare?

È una problematica emersa all'estero, in Italia è ancora prematuro parlarne. Per questo è nato un nuovo gruppo di lavoro del W3C, il consorzio che mantiene e sviluppa gli standard alla base del Web di oggi e di domani. Nel charter è prevista la pubblicazione di linee guida dettagliate sui vocabolari e sulle modalità da utilizzare per facilitare una meta descrizione condivisa. La tecnologia semantica permette un'integrazione veloce tra dati e domini differenti, ma la coesione sociale derivante dall'uso di descrivere gli stessi dati in maniera condivisa è sicuramente da portare avanti. Anche perché i governi creano processi top-down inevitabilmente, se questi risultano più condivisi c'è meno lavoro di pulizia dei dati integrati e più lavoro per la parte creativa sopra di essi.

Sarebbe possibile ricercare i dati su più insiemi di datasets o di cataloghi?

Certamente che sarebbe possibile: ovviamente serve l'adozione del livello tecnico SPARQL per facilitare questo lavoro. Anche la pubblicazione delle API per il singolo catalogo facilita questo compito, ma lo rende impegnativo. Se ogni catalogo pubblica un suo dialetto per interrogare i dati, i cari programmatori devono studiarlo per ogni singolo sito, al posto di doverlo imparare una volta sola e poi automatizzare il tutto. È  come se su una ricetta di cucina si usassero metriche diverse per le dosi dei singoli ingredienti, per dire. Stanno nascendo servizi che integrano i punti di interrogazione sparsi per la Rete, quindi nuovi modelli di business a disposizione del Mercato.

Pensi che i programmatori capiscano il valore della federazione e della aggregazione di più fonti di dati?

Il gap per i programmatori è notevole: nel senso che il modo in cui si sono formati tradizionalmente non prevede di addentrarsi sugli aspetti legati, su dati distribuiti appartenenti non alla società per cui si lavora e via dicendo.  Diciamo che anche quando sono stato ad uno degli incontri dei gruppi di lavoro del W3C questa primavera, si percepiva lo scollamento che esiste oggi tra le comunità. Per questo i contest sono importanti: sono leve per fare breccia nei meccanismi di business classici a cui i programmatori sono stati abituati e si mostra loro quanto c'è di nuovo. E quante possibilità abbiamo oggi di non reinventare la ruota. Credo che la consapevolezza della nuvola di dati sia un paradiso per i programmatori, e la legalità di poterli usare sia una delle innovazioni dirompenti rispetto al mondo chiuso in cui operano tradizionalmente. L'ostacolo a mio avviso è più sociale che tecnologico.