Il nuovo catalogo nazionale Open Data – seconda parte

Questo secondo articolo sulla progettazione del nuovo catalogo nazionale open data introduce le API supportate dal portale, descrive la treemap che consente di navigare i contenuti del sito e introduce alcune delle novità sulle quali stiamo lavorando in queste settimane. Il primo articolo su dati.gov.it lo trovi qui. 

Dove sono le API?

Nella fase iniziale del progetto abbiamo cercato di consolidare la ri-organizzazione del catalogo e di estendere DKAN secondo quanto necessario dai requisiti del progetto; in particolare si è trattato di estendere il modello di organizzazione dei metadati presente in DKAN aggiungendo le organizzazioni (DKAN è pensato per un singolo ente che pubblica dati mentre nel nostro contesto avevamo l’esigenza di gestire i metadati di tante organizzazioni diverse). Inoltre si è trattato di irrobustire l’harvester di DKAN per poter acquisire la grande mole di dati che era presente nel CKAN della versione precedente del portale (seguono maggiori dettagli nei paragrafi seguenti).

Queste attività hanno fatto si che, nella release di Giugno, non fossero ancora presenti le API. Durante l’estate, sempre in collaborazione con AgID, abbiamo ripreso le attività e ri-attivato le API standard di CKAN a cui molti di voi sono già abituati. Si tratta di interfacce consultabili con richieste HTTP che restituiscono risultati formattati in JSON. Per vedere qualche esempio potete fare un check sulla pagina dedicata agli sviluppatori di dati.gov.it. Sostanzialmente ora trovate disponibili due API:

Nell’esempio sopra chiediamo al sistema di indicarci la lista di tutti i dataset presenti nel portale (limitando, con il parametro limit a 10 il numero dei dataset forniti in risposta). Utilizzando i parametri supportati da questa API limit e offset possiamo scaricare l’intera lista di dataset di dati.gov.it.

Dalla lista dei dataset per accedere ai metadati del singolo dataset possiamo invece usare la chiamata:

Passando, questa volta il parametro id (che abbiamo ottenuto nel JSON di risposta ottenuto con package_list) possiamo acquisire i metadati del singolo dataset.  

Scorrere migliaia di dataset in pochi click con la Treemap e utilizzando le API del sito

La Treemap è una visualizzazione di dati che evidenzia le relazioni tra un elevato numero di oggetti utilizzando una codifica a colori e una serie di rettangoli nidificati di dimensioni diverse.

Una treemap colorata utilizza il colore per raggruppare oggetti appartenenti ad una medesima categoria. Le dimensioni dei rettangoli rappresentano invece i valori che intendiamo rappresentare. Vediamo direttamente la Treemap di dati.gov.it.


Partendo dall’analisi fatta sull’insieme dei dataset del catalogo, e dai nuovi criteri di classificazione, abbiamo cercato una soluzione che consentisse una navigazione immediata e al contempo profonda dei dataset disponibili. Creando una treemap interattiva è stato possibile visualizzare i dataset secondo una gerarchia disposta su più livelli dando all’utente la possibilità di scendere e di salire di livello a piacimento. La treemap visualizza un qualsiasi insieme di dati organizzati gerarchicamente. Nel nostro caso abbiamo utilizzato D3.js che è una libreria JavaScript per la visualizzazione di dati dinamici (D3 è l’acronimo di Data-Driven Documents).

Per fornire alla Treemap i dati nel formato richiesto abbiamo realizzato uno script che a intervalli di tempo regolari esegue le seguenti attività:

  1. Chiama le API di dati.gov.it e scarica l’elenco dei dataset con i dettagli relativi al nome, all’organizzazione, al territorio di riferimento e alla categoria tematica (ove presente);
  2. Riorganizza i dati ad albero seguendo una gerarchia che può essere personalizzata di volta in volta. Al momento abbiamo optato per organizzare i dataset secondo la gerarchia:
    territorio -> tema -> organizzazione -> nome (e link al dataset).
  3. Trasmette i dati alla treemap usando il formato JSON utilizzato da D3.

Quando la treemap viene caricata nella pagina si limita a caricare il JSON e offre all’utente la possibilità di navigare l’albero. Il modello di treemap navigabile è ispirato ad una versione sviluppata da Mike Bostock (autore di D3) che aggiunge alcune caratteristiche importanti per un sito come dati.gov.it – vediamo quali:

  • utilizzo dei colori per la categorizzazione dei dataset (nello specifico il colore ora indica se un dataset ha valenza nazionale, comunale, regionale, provinciale o se appartenente ad un ente extra-territoriale)
  • impiego del formato vettoriale SVG per il rendering degli oggetti in pagina
  • dimensioni responsive della treemap, delle sottocomponenti e delle etichette testuali 
  • interattività per navigare in profondità i contenuti passando dal territorio al tema, e dall’organizzazione al singolo dataset

Sulla treemap sono stati poi effettuati i test di funzionamento cross-browser e cross-device che ci hanno portato  ad estendere la versione originale per supportare al meglio Safari ed Internet Explorer.

Ci siamo inoltre assicurati che il livello di accessibilità della treemap fosse WCAG 2.0 (Level AA) e che i colori non ponessero problemi a chi è affetto da daltonismo (di seguito alcuni dei risultati dei test).

colorblind-test-01

colorblind-test-02

La Treemap è Open Source

La zoomable Treemap è stata realizzata da Piero Savastano e la trovate sul GitHub di Insideout10https://github.com/insideout10/zoomable-treemap

Continua … e nel prossimo articolo parleremo di harvesting e di come i metadati nel catalogo Italiano entreranno in contatto con il nuovo portale open data Europeo. 

L'immagine per questo post è una visualizzazione prodotta da un algoritmo di Alex D. (Ekisto) sui dati delle interazioni (watch, fork e follow) di GitHub.
 

Il nuovo catalogo nazionale Open Data

Verso la seconda metà di Marzo di quest’anno abbiamo per la prima volta iniziato a ragionare sull’ipotesi di dare un contributo per rivedere le funzionalità e l’organizzazione del catalogo nazionale degli Open Data Italiani. Questo articolo vuole essere il diario di bordo di quanto svolto sul nuovo dati.gov.it  in termini di design dell’informazione e implementazione tecnologica.

Ci occupiamo, come Insideout10, di open data e linked open data da diversi anni e abbiamo colto la sfida di AgID di ereditare il lavoro svolto dal Formez e da Sciamlab a partire dal 2011 sul catalogo dati.gov.it.

Architettura dell’informazione

Partendo dalla richiesta iniziale di rendere i dataset quanto più accessibili e fruibili ai target di utenza primari identificati dall’Agenzia (cittadini, imprese, professionisti e pubblica amministrazione), il lavoro iniziale è stato quello di analizzare il contesto di riferimento e le modalità di accesso consolidate tra le diverse tipologie di utenza.

Lo svolgimento di questa parte di analisi lo abbiamo condotto abbinando tecniche miste di analisi dei dati, definizione delle personas, studio dei casi di successo (eh si dobbiamo anche qui ammettere di esserci deliberatamente ispirati al portale degli open data Indiano e da quello Africano invece che rifarci ai più blasonati data.gov.uk e data.gov) e comune buon senso.

La prima treemap navigabileCome startup che lavora in questo settore, siamo a nostra volta “clienti” della soluzione, questo costituisce un punto di vantaggio e un bias da tener sotto controllo. In pratica siamo partiti dal .csv contenente la lista di tutti i dataset presenti originariamente nel catalogo e abbiamo iniziato a visualizzare la struttura dei dati usando una nostra versione personalizzata di RAW (un utilissimo tool di visualizzazione realizzato dal Politecnico di Torino che abbiamo integrato con alcune visualizzazioni provenienti da D3.js per leggere le informazioni aggregate dell’architettura dei siti web e dei dati accesso, keyword e molto altro ancora).

In parallelo abbiamo eseguito manualmente decine e decine di ricerche per analizzare i risultati della ricerca ma anche per raccogliere le combinazioni di keyword, tag e classificazioni pre-esistenti che potevano creare un valore per le nostre personas. E’ un lavoro editoriale che richiede tempo e una cognizione base dei diversi dominii di conoscenza.

Usando la logica del Patchinco (ovvero la costruzione modulare di un albero di classificazione) abbiamo iniziato a definire le logiche di ri-classificazione dell’esistente rispetto alla nuova classificazione tematica che via via prendeva forma. Queste logiche ci hanno consentito di implementare un primo modulo in Drupal per l’acquisizione e la ri-classificazione dei dataset originariamente contenuti in CKAN.
L’organizzazione dei temi è stato il risultato degli incontri con AgID ma anche una mappatura delle diverse tassonomie utilizzate a livello Europeo dai vari portali open data.

Ora per quanto parziale è emersa una nuova logica di ri-classificazione dei dati che mette insieme diversi criteri di accesso alle informazioni.

La nuova classificazione di dati.gov.it

I focus

I focus hanno l’obiettivo di interessare delle comunità trasversali di utenti che accedono al sito con interessi specifici. Nel CMS rappresentano degli aggregati di dataset, di news (e presto anche di app) che possono interessare il target. Ne abbiamo concepiti quattro in prima battuta e aggiunti altri due in corsa. I primi quattro da cui eravamo partiti sono:

  • Smart City (è un tema importante per lo sviluppo economico e l’interesse è in crescita),
  • Dati Geografici (si tratta di un sotto-insieme molto specifico di dataset che hanno un riferimento diretto con il territorio e che si rivolgono tradizionalmente ad una platea di utenti spesso composta da professionisti),
  • Data Journalism (i dati statistici aiutano a raccontare le storie e a produrre informazione basata su fatti concreti)
  • Agenda Open Data (forse il focus più importante di tutti che raccoglie la lista dei dataset identificati come fondamentali dall’agenda digitale del Paese dal 2013 ad oggi – l’obiettivo è quello di esporre in modo chiaro ai cittadini quali dataset sono prioritari e quali di questi sono realmente disponibili).

I due aggiunti in seguito sono stati:

  • Data 4 All (un progetto presentato all’UNICEF che raccoglie alcuni dei progetti Open Data di maggior risalto al momento ovvero Open Expo, Italia Sicura e Soldi Pubblici)
  • Occupazione & Lavoro (la sintesi delle informazioni relative ai livelli occupazionali)

Al momento sono in linea tre focus e speriamo di introdurre anche gli altri tre nei prossimi mesi (questo ovviamente dipenderà dalle valutazioni congiunte di AgID e Formez).  

Perché DKAN al posto di Drupal + CKAN

Effettivamente non è scontata come scelta e vale la pena entrare nel merito. In passato abbiamo lavorato su CKAN e la sua endemica diffusione ne rappresenta il principale punto di forza.

Quando fu concepito originariamente da Dr Rufus Pollock e l’OKFN l’obiettivo era quello di creare uno strumento semplice per pubblicare cataloghi di dataset. Ora le ambizioni di un sito come dati.gov.it come anche quelli di altri cataloghi regionali e/o di settore sono legate al ri-uso dei dati e più in generale alla divulgazione di quanto sia possibile fare con questi dati. Si tratta di favorire l’impiego da parte di tutti dei dati per creare nuove opportunità sul territorio integrando le competenze di tecnici e meno tecnici.

Utilizzare un CMS significa poter trattare i dataset come qualunque altra tipologia di contenuto e abbinarlo ad articoli di approfondimento, applicazioni e molto altro ancora. Analizzando la navigazione dei portali realizzati con CKAN abbinato ad un CMS (Drupal o WordPress) è facile notare come sistemi diversi di navigazione si sovrappongano perché appartenenti a piattaforme diverse. Si veda ad esempio il portale (molto ben realizzato per altro) della Regione Lazio o anche la stessa precedente versione di dati.gov.it – i dati sono accessibili e consultabili con una logica specifica che è di fatto vincolata da CKAN mentre gli altri contenuti rimangono “sospesi” in un’alberatura che è definita nel CMS.

Un CMS consente inoltre un’espressività maggiore in termini di organizzazione dell’architettura delle informazioni e facilità di creazione della presentazione – ma anche una crescita delle funzionalità più organica e meno dispendiosa (nel caso di Drupal legata ai 300+ moduli presenti per questo sistema).

Ora inoltre si trattava di passare da una piattaforma con un harvesting automatico che utilizzava un sistema di crawling per raccogliere e classificare i dati ad un workflow di pubblicazione e gestione centralmente organizzato da AgID e Formez integrable con l’indice della Pubblica Amministrazione. Avere quindi la possibilità di creare dei workflow di acquisizione più strutturati rispetto a quanto offerto da CKAN era un requisito da considerare per lo sviluppo futuro del sistema.     

Last but not least – un comune che ha un budget limitato e usa un WCM open source come Drupal (in Italia sono tantissimi) perché dovrebbe installare una nuova piattaforma e formare il personale?

Continua … e nel prossimo articolo parleremo delle tanto attese API, della treemap utilizzata sulla homepage, delle contribuzioni open source e di altri approfondimenti implementativi. 

La foto di copertina è di Justin Grimes , CC BY-SA 2.0
Il sito dati.gov.it è stato pubblicato in una prima versione il 5 Giugno 2015.