Il feed RSS migliore di sempre: quello per sapere quando un dataset ISTAT viene aggiornato

L’Istituto nazionale di statistica è forse la fonte più seguita da chi usa i dati per comprendere, rappresentare, analizzare e monitorare il nostro paese. Tra questi, ricercatori, giornalisti, sviluppatori, aziende, decisori, liberi professionisti, cittadini, ecc..

Sarebbe di grande comodità e utilità avere un sistema “per tutti” per essere informati tutte le volte che c’è un aggiornamento sul catalogo dei dati dell’istituto, in particolare sul cosiddetto data warehouse I.Stat.

Visto che non c’è, abbiamo creato un feed RSSdisponibile per il riuso secondo questa licenza aperta – che consente di farlo: http://feeds.feedburner.com/istatdataset

Una premessa sui web service di ISTAT

L’ISTAT pubblica i propri dati (anche) tramite web service SDMX (Statistical Data and Metadata eXchange). È un servizio interrogabile che restituisce in output delle strutture XML, secondo il formato omonimo (è uno standard ISO).

È attivo da diversi anni e l’homepage è http://www.istat.it/it/strumenti/web-service.
Sono disponibili una pagina di FAQ e una di tool. In quest’ultima un plug-in Excel (per selezionare i dataset di interesse, effettuare query e salvare il risultato) e alcuni esempi di codice sorgente di un client web per accedere al data warehouse e interrgarlo, sviluppati nei linguaggi VB .NET, C#, PHP e Java.

E sopratutto c’è la pagina che da conto degli aggiornamenti dei dataset avvenuti negli ultimi cinque giorni.

Ma questa non è pienamente utile ai tanti portatori di interesse, perché non offre un modo “per tutti” per ricevere un avviso automatico per ogni aggiornamento.

Analizzandola con gli strumenti di sviluppo presenti nei browser abbiamo riscontrato l’accesso a una risorsa con un nome interessante: rsssep.php (vedi sotto). L’abbiamo aperta (https://www.istat.it/js/rsssep.php) e ci sembrava proprio il feed RSS che cercavamo.

Ci sono due elementi però da sottolineare. Il primo è che questo feed RSS è “nascosto”.
Il secondo è che, se anche non fosse così e fosse ben visibile, contiene informazioni utilizzabili soltanto da “specialisti” e sopratutto manca il <link>.

Qui sotto un esempio, in cui si vede come ci sia il titolo (<title>, informazione preziosa) e la data di pubblicazione (<pubDate>), ma non c’è un link, un URL, che consenta un accesso diretto all’elemento (nel caso di sotto agli “Indici dei costi di costruzione – dati mensili”).

L’accesso tramite API

Ai dati del warehouse di ISTAT si può accedere anche tramite API. Ce l’ha ben descritto Vincenzo Patruno (che lavora a ISTAT) in questo post (leggetelo è interessante e utile).
Averlo tra i soci di onData, ci ha consentito di fargli più agilmente qualche domanda su queste API (le ha fra l’altro sviluppate lui).

Gli abbiamo chiesto se ci fosse una qualche query diretta che esponesse come risultato proprio l’elenco dei dataset aggiornati. Non c’è, ma c’è un comodo endpoint (per chi sa “maneggiare” un file JSON) con l’elenco di tutte le risorse esposte, un vero e proprio catalogo di dati: http://apistat.istat.it/?q=getdslistdatagov.

In questo le informazioni su un dataset contengono elementi utili a una platea molto più larga. Sotto l’esempio sempre di Indici dei costi di costruzione - dati mensili in cui appare la proprietà landingPage, che è proprio il link, l’URL, per puntare direttamente alla pagina della risorsa nel data warehouse. Potete provare con:
http://dati.istat.it/Index.aspx?DataSetCode=DCSC_FABBRESID_1&Lang=it

NOTA IMPORTANTE: questo elenco, questo catalogo, è in un formato che potrebbe essere usato per l’indicizzazione nel portale nazionale italiano sui dati aperti. Non sarebbe male che AgID lo indicizzasse, sottoponendolo ad harvesting.

Il feed RSS “per tutti”

Riepilogando:

  • il web service SDMX consente di avere l’elenco sugli ultimi aggiornamenti, ma non da la possibilità di risalire facilmente alla risorsa aggiornata;
  • il catalogo delle risorse esposto via API contiene l’URL per risalire alla pagina della risorsa.

Abbiamo pensato allora di “mescolare” queste informazioni e produrre il feed RSS migliore di sempre 🤣.

È stato costruito con uno script bash che:

  • scarica i dati contenuti nel feed RSS esposto via web service SDMX;
    • da questi estrae titoli e date degli elementi pubblicati;
  • scarica il catalogo dati esposto via API;
    • da questo estrae titoli e identificatore del dataset (nel caso di sopra è DCSC_FABBRESID_1)
  • fa il JOIN via “titolo” e crea un unica risorsa che contiene titolo, URL della pagina del dataset e data di pubblicazione;
  • sfrutta questa risorsa per creare il feed RSS.

Gli strumenti utilizzati sono cURL (per l’accesso alle risorse web), jq (per elaborare i dati JSON), csvkit (per l’elaborazione di alcuni file creati nello script) e XMLStarlet (per creare il feed RSS).

L’URL del feed è: http://feeds.feedburner.com/istatdataset

È pubblicato in con Licenza Creative Commons Attribuzione – Condividi allo stesso modo 4.0. Citateci 🖖

Cosa c’è nel feed

L’output di base è quello sottostante. Al titolo, al link, e alla data di pubblicazione sono stati aggiunti alcuni elementi aggiuntivi:

  • a livello di <channel>, in <docs>, l’URL del post di Vincenzo. Non è una vera e propria documentazione della struttura del feed, ma è la cosa che al momento gli si avvicina di più;
  • a livello di <item>
    • l’identifier di ogni dataset;
    • una <description> con l’endpoint che consente di identificare le “dimensioni” che compongono ciascun dataset.

L’identifier è prezioso per interrogare le API (c’è da leggere il post). Nell’esempio di sopra è DCSC_FABBRESID_1.

Per avere le dimensioni di questo:
http://apistat.istat.it/?q=getdim&dataset=DCSC_FABBRESID_1&lang=0

Qui le dimensioni sono “Territorio”, “Tipo di indicatore”, “Correzione”, “Gruppo e categoria di costo” e “Seleziona periodo” (qui un esempio di output con estrazione delle dimesioni).

Come usare il feed RSS

I feed RSS sono basati su uno vecchio e buon standard, quindi esistono centinaia di modalità per leggerli, adatti a qualsiasi tipo di utente.
Vi potrete “iscrivere” con un lettore dedicato, attivare delle notifiche automatiche via email magari filtrate su una parola chiave (con strumenti come IFTTT), scrivere del codice per produrre nuovi output, ecc..

Nota finale “personale”

Lo stimolo che ci ha portato alla scoperta e all’approfondimento di queste risorse nasce da questo messaggio di Alice Corona e da questo stimolo di Andria Tzedda. Ringraziamo entrambi 🙏

Redazione Ondata

Redazione Ondata

Associazione per la Promozione della Trasparenza e della cultura dei dati attraverso le competenze digitali e il giornalismo investigativo.

Se ti piace quello che facciamo, sostienici con una donazione!
Redazione Ondata

Latest posts by Redazione Ondata (see all)

    Lascia un commento

    Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

    This site uses Akismet to reduce spam. Learn how your comment data is processed.