Aggiornamento API OpenData Piemonte

60 views
Skip to first unread message

Andrea Agazzone

unread,
Dec 7, 2015, 11:54:04 AM12/7/15
to Spaghetti Open Data
Buonasera a tutti,
sono uno studente dell'Università Bicocca di Milano e sto svolgendo una tesi con il prof. Andrea Maurino su un'applicazione che permetta ad un programmatore di mediare (per poi integrare) tanti dataset open tra loro. Questa applicazione ha come primo step quello di fare una fase di discovery dai dataset tra i principali portali di open data italiani attraverso delle richieste alle API. 
Utilizzando delle librerie Java per Socrata e CKAN (Jackan https://github.com/opendatatrentino/jackan) riesco ad ottenere molte informazioni sui vari dataset pubblicati. Ho provato ad utilizzare Jackan per integrare il sito: dati.piemonte.it, ma esso risulta non compatibile perché le API sono ferme alla versione 1 invece la libreria supportano quelle della versione 3. 
Mi chiedevo quindi se tra i membri di questo gruppo ci fosse qualcuno che si occupa del suddetto portale e mi facesse sapere se fosse possibile un aggiornamento oppure niente.
Sabbe bello poter utilizzare solo due librerie senza dover creare script custom per ogni portale non compatibile.

Grazie per l'attenzione.

Cordiali saluti,
Andrea Agazzone.

Alessio Dragoni

unread,
Dec 7, 2015, 3:40:56 PM12/7/15
to spaghett...@googlegroups.com, Paolo Starace
Ciao Andrea,
Utilizzando CKAN4J (https://github.com/sciamlab/ckan4j) puoi accedere alle diverse versioni delle API CKAN.
Se preferisci usare jackan puoi collegarti alle API di opendatahub.it che contengono tutti i metadati (piemonte incluso) normalizzati

fammi sapere se ti serve una mano

un saluto
alessio
--
Hai ricevuto questo messaggio perché sei iscritto al gruppo "Spaghetti Open Data" di Google Gruppi.
Per annullare l'iscrizione a questo gruppo e non ricevere più le sue email, invia un'email a spaghettiopend...@googlegroups.com.
Visita questo gruppo all'indirizzo http://groups.google.com/group/spaghettiopendata.
Per altre opzioni visita https://groups.google.com/d/optout.

Andrea Agazzone

unread,
Dec 7, 2015, 4:07:38 PM12/7/15
to Spaghetti Open Data, pa...@sciamlab.com
Gentilissimo!!! Non conoscevo CKAN4J anche perché tra le librerie citate da CKAN (https://github.com/ckan/ckan/wiki/CKAN-API-Clients) non era presente.
Una informazione veloce: CKAN4J permette di accedere agli attributi dei dataset, oppure è una restrizione di CKAN? (Ad esempio Socrata permette di accedere ad una rappresentazione JSON del dataset da cui è possibile ottenere gli attributi in modo "indiretto")

Grazie anche per il suggerimento del sito opendatahub che non conoscevo. Rispetto ai siti come ad esempio dati.piemonte, dati.lombardia o altri domini che offrono opendata in italia quale è il livello di copertura e di (eventuale) aggiornamento? 

Grazie ancora , gentilissimo :)

Cordiali Saluti,

Alessio Dragoni

unread,
Dec 7, 2015, 6:59:20 PM12/7/15
to spaghett...@googlegroups.com, pa...@sciamlab.com
andrea,
il contenuto delle distribuzioni di un dataset non e' sempre disponibile via API.
In CKAN cio' dipende dal formato della risorsa ma anche dalla versione di CKAN stesso, ovvero se dispone o meno del datastore. Questa estensione infatti converte il formato tabulare (CSV, Excel, etc.) in tabelle nella base dati consentendone l'accesso e l'interrogazione attraverso una API ad-hoc.

P.es: http://goo.gl/tqO5zn consente di scaricare l'intero set di dati del dataset. Vedi "Data API" nella pagina http://dati.mit.gov.it/catalog/dataset/interventi-strategici/resource/dca3c03c-d46d-402b-a537-4495d73bfb4e

Puoi verificare versione ed estensioni disponibili su un setup CKAN attraverso la API "status_show"
p.es: http://dati.mit.gov.it/catalog/api/action/status_show

tipicamente la presenza di "datastore" tra le extensions implica la disponibilita' della Data API.

In caso vuoi utilizzare il formato DCAT-AP della API, su http://opendatahub.it sono disponibili tutti i dataset di ciascuna organizzazione semplicemente aggiungendo .jsonld o .rdf alla URI di ciascuna organizzazione.
P.es Il catalogo del Ministero del Trasporti in JSON-LD e' accessibile su: http://www.sciamlab.com/opendatahub/organization/m_inf.jsonld quello della regione piemonte su: http://www.sciamlab.com/opendatahub/organization/regione-piemonte.jsonld

Il formato JSON-LD usa hydra per la paginazione dei risultati (https://www.w3.org/community/hydra/wiki/Pagination)

spero ti sia utile.

ciao,
ale

Daniele Crespi

unread,
Dec 7, 2015, 7:20:00 PM12/7/15
to spaghett...@googlegroups.com
Ciao Andrea,
per qualunque supporto sul portale della Lombardia scrivi pure a me, che poi ti metto in contatto con la persona che ti può aiutare.

ciao
daniele

--

Andrea Agazzone

unread,
Dec 8, 2015, 3:39:31 AM12/8/15
to Spaghetti Open Data
Alessio, ti ringrazio tanto per la risposta che mi hai dato sei stato chiarissimo. Vedrò il da farsi, ma forse mi conviene scaricare in locale il dataset ed estrarre on-the-fly gli attributi.

Un'ultima cosa, ho provato a far funzionare CKAN4J, guardando anche il source code, ma non riesco a capire l'inizializzazione.
Devo effettuare prima il login? (Ho già preso la mia chiave API registrandomi a opendatahub) Ho inoltre qualche problema nell'integrazione della libreria nel mio applicativo perché nonostante abbia installato in locale la dipendenza maven di CKAN4J (e compilata correttamente) non mi trova i metodi static delle classi (spero dipenda dalle dipendenze maven).
Inoltre la demo: http://beta.sciamlab.com:8080/ckan4j/webapi/ non risulta online.

In ultimo, indipendentemente dalla libreria usata, ho provato ad accedere alle API con una script java (con autenticazione), ma dopo aver ottenuto tutti gli ID se provo ad accedere alle informazioni di ciascun dataset, mi esce l'errore 421 (Too Many Connection). Questo tipo di errore è particolarmente limitante per la mia applicazione perché mi taglia brutalmente le gambe. Che tu sappia, questo limite può essere aggirato? 
Intanto grazie infinite per il prezioso aiuto.

Daniele, ti ringrazio, per il momento dati.lombardia è forse l'unico sito che riesco ad usare senza troppi problemi tramite la libreria sviluppata da Socrata, anche se, potendo accedere alla versione JSON dei dataset (e quindi estrarre gli attributi che mi interessano), dopo aver fatto un po di richieste, la connessione si blocca (probabilmente per lo stesso motivo di cui sopra).

Grazie ancora.

Cordiali saluti,
Andrea Agazzone.

Daniele Crespi

unread,
Dec 8, 2015, 3:41:42 AM12/8/15
to spaghett...@googlegroups.com
Per usare le API devi registrarti e staccare un token.

OCCHIO che devi registrarti sul nostro sito, non su quello di Socrata.


Ciao
Daniele

Andrea Agazzone

unread,
Dec 8, 2015, 3:44:27 AM12/8/15
to Spaghetti Open Data
Sisi, sono già registrato e utilizzo i miei dati con il token nella libreria, ma dopo un po di connessioni si blocca tutto. 

Alessio Dragoni

unread,
Dec 8, 2015, 5:35:02 AM12/8/15
to spaghett...@googlegroups.com, Paolo Starace
andrea,
senti paolo (in cc). Visto lo scopo della tua applicazione puo' fare in modo che per un periodo il tuo account abbia accesso illimitato alle api.

In ogni caso ti consiglio di implementare un meccanismo di delay nella tua logica, in modo che puoi utilizzarle rispettando le regole di throttling. In genere questa e' una buona pratica da usare ogni volta che si accede ad una API pubblica che presenta delle restrizioni nel numero di chiamate per unita' di tempo.

ciao,
alessio


 



On 12/08/2015 09:39 AM, Andrea Agazzone wrote:
Alessio, ti ringrazio tanto per la risposta che mi hai dato sei stato chiarissimo. Vedrò il da farsi, ma forse mi conviene scaricare in locale il dataset ed estrarre on-the-fly gli attributi.

Un'ultima cosa, ho provato a far funzionare CKAN4J, guardando anche il source code, ma non riesco a capire l'inizializzazione.
Devo effettuare prima il login? (Ho già preso la mia chiave API registrandomi a opendatahub) Ho inoltre qualche problema nell'integrazione della libreria nel mio applicativo perché nonostante abbia installato in locale la dipendenza maven di CKAN4J (e compilata correttamente) non mi trova i metodi static delle classi (spero dipenda dalle dipendenze maven).
Inoltre la demo: http://beta.sciamlab.com:8080/ckan4j/webapi/ non risulta online.

In ultimo, indipendentemente dalla libreria usata, ho provato ad accedere alle API con una script java (con autenticazione), ma dopo aver ottenuto tutti gli ID se provo ad accedere alle informazioni di ciascun datazione perché mi taglia brutalmente le gambe. Che tu sappia, questo limite può essere aggirato? set, mi esce l'errore 421 (Too Many Connection). Questo tipo di errore è particolarmente limitante per la mia applica

Andrea Agazzone

unread,
Dec 8, 2015, 8:24:10 AM12/8/15
to Spaghetti Open Data, pa...@sciamlab.com
Grazie per il contatto, appena so come procedere al massimo lo contatto.
Il meccanismo di delay l'avevo già implementato, (facendo 1 richiesta ogni secondo, mi sembrava ragionevole) ma l'errore persiste fino a che non faccio 1 richiesta ogni 9/10 secondi. Purtroppo questo limite, visto l'ammontare di dataset indicizzati da opendatahub, è troppo restrittivo.
In ogni caso, ti ringrazio per il tempo che hai perso a rispondermi, sei stato gentilissimo :)

Cordiali saluti,
Andrea Agazzone.

Saverino Reale

unread,
Dec 9, 2015, 2:56:28 AM12/9/15
to spaghett...@googlegroups.com
Ciao Andrea 
per quanto riguarda supporto a dati.piemonte puoi fare riferimento a me, purtroppo non riusciamo a brevissimo ad aggiornare la versione di API, in ogni caso per necessità specifiche puoi anche contattarci alla sezione contattatci del portale:

Saverino Reale 

Il giorno 7 dicembre 2015 17:54, Andrea Agazzone <agazzon...@gmail.com> ha scritto:

--
Hai ricevuto questo messaggio perché sei iscritto al gruppo "Spaghetti Open Data" di Google Gruppi.
Per annullare l'iscrizione a questo gruppo e non ricevere più le sue email, invia un'email a spaghettiopend...@googlegroups.com.
Visita questo gruppo all'indirizzo http://groups.google.com/group/spaghettiopendata.
Per altre opzioni visita https://groups.google.com/d/optout.



--
Saverino Reale


Reply all
Reply to author
Forward
0 new messages