data.world API: come fare una query SQL
--
data.world è lo YouTube dei dati ed espone delle API con cui è possibile eseguire delle query SQL (e SPARQL).
Per sfruttare le API è necessario avere un account su data.world, eseguire il login e aprire la pagina https://data.world/settings/advanced.
Da questa copiare il proprio API token, necessario per autenticarsi in fase di interrogazione dei dati.
Fatto questo, si può usare il proprio linguaggio di scripting preferito e dialogare con le API di data.world.
Sotto un esempio in bash
nel quale:
- imposto in una variabile il token;
- uso cURL per fare una chiamata verso un determinato dataset;
- mi faccio riconoscere passando il mio token;
- imposto come output il CSV;
- imposto la query SQL che voglio eseguire sul dataset in oggetto.
Rifaccio dopo 2 secondi di pausa la stessa query, ma rimuovo le impostazioni sul tipo di output, e quindi ho quello di default che è in JSON.
#!/bin/bash# Imposto il mio token
DW_API_TOKEN="ilMioToken"# query con output in CSV
curl 'https://query.data.world/sql/ipersoft/comuni-italia' \
-H 'Authorization: Bearer '$DW_API_TOKEN' ' \
-H 'Accept: text/csv' \
--data-urlencode 'query=SELECT * FROM `elenco-comuni-italiani.csv/elenco-comuni-italiani`
where `elenco-comuni-italiani`.`Codice Regione`= 19
LIMIT 20'# Questa pausa è solo per guardare a schermo sia il primo (CSV) che il secondo output (JSON)
sleep 2# query con output in JSON, che è quello di default
curl 'https://query.data.world/sql/ipersoft/comuni-italia' \
-H 'Authorization: Bearer '$DW_API_TOKEN' ' \
--data-urlencode 'query=SELECT * FROM `elenco-comuni-italiani.csv/elenco-comuni-italiani`
where `elenco-comuni-italiani`.`Codice Regione`= 19
LIMIT 20'