PeriodThinkTank / data-prep-pnrr

Repo creata per manutenere il codice di aggiornamento della base dati per la app di monitoraggio PNRR di Period Think Tank
https://public.tableau.com/app/profile/period.thinktank/viz/AnalisiPnrrimpattidigenere/Home
GNU General Public License v3.0
0 stars 0 forks source link

RICHIESTE X ANAC #23

Closed lalafrufru closed 4 months ago

lalafrufru commented 4 months ago

Proposta dei punti da inserire

  1. Inserire trigger di aggiornamento dei dataset di modo che sia possibile essere notificati dell’aggiornamento senza dover fare sempre un check manuale e si possano prevedere delle pipeline di ingestion automatiche
  2. Fornire una documentazione puntuale del modello dati in essere di modo da poter utilizzare e mergiare efficientemente i dataset disponibili
  3. Fornire comunicazioni in caso di cambiamenti di schema e di inserimento di nuovi dataset
  4. Mettere a disposizione per interrogazioni e confronti temporali lo storico dei dataset principali di riferimento.
aborruso commented 4 months ago

Cara @lalafrufru,

  1. Inserire trigger di aggiornamento dei dataset di modo che sia possibile essere notificati dell’aggiornamento senza dover fare sempre un check manuale e si possano prevedere delle pipeline di ingestion automatiche

il portale open data è basato su CKAN, che ha delle API.

Ed ad esempio si può interrogare un dataset per ID e leggere i suoi metadati.

https://dati.anticorruzione.it/opendata/api/3/action/package_show?id=indicatori-pnrrpnc

A questo punto potreste semplicemente pianificare una query automatica giornaliera, e se cambia un metadato di vostro interesse, attivare l'update della vostra banca dati.

Loro inoltre spesso pubblicano tra le risorse, un file con i log dei cambiamenti. Potreste ogni giorno monitorare la variazione di questo. Un esempio è questo: https://dati.anticorruzione.it/opendata/dataset/indicatori-pnrrpnc/resource/f0d22e3b-3c57-4def-9665-0d3619c9462a

  1. Fornire una documentazione puntuale del modello dati in essere di modo da poter utilizzare e mergiare efficientemente i dataset disponibili

Su questo non lo fanno in modo buono. Pubblicano come sai queste tabelle, ma come html, non anche in un formato standard machine readable. Un esempio

image

Ogni dataset è pubblicato anche in altri formati, come il TTL, in cui lo schema è definito internamente. Ma è scomodo.

L'ideale sarebbe che pubblicassero lo schema in qualcuna delle forme tipiche dei dati, come frictionless data o in JSON Schema.

  1. Fornire comunicazioni in caso di cambiamenti di schema e di inserimento di nuovi dataset

Dovrebbero predisporre o una sezione news nel portale open data, o predisporre un repo con i log. Credo che nella sezione news generale qualche notizia danno. Ma visto l'interesse per il loro dati, ci vorrebbe un "verticale" dedicato.

  1. Mettere a disposizione per interrogazioni e confronti temporali lo storico dei dataset principali di riferimento.

Questa cosa, del versioning dei dati, è essenzialmente un vuoto globale del mondo dei dati aperti in Italia. È rarissimo, avere la versione precedente. Loro, per alcuni dataset, come quello dei CIG, pubblicano però da un po' di tempo i rilasci mensili. Quindi in qualche modo lì puoi vedere la variazione. Ma se il CSV di marzo 2022, viene modificato oggi, perché ci si accorge di un refuso, leggi nei metadati che c'è stata una variazione, ma non hai il versioning, non puoi vedere cosa è cambiato in quel file.

Nei progetti di mio interesse, infatti, se posso mi creo la mia versione dei dati con aggiornamento periodicio automatico, che va in sovrascrittura, ma su cui attivo il versioning. E così l'update ci sarà soltanto se ci saranno differenze. E dove mi serve, posso produrmi un avviso se c'è stato un cambiamento.

Baci