Ciao a tutti, mi accingo a pubblicare alcuni datasets che derivano da progetti di ricerca. In passato ho pubblicato usando lo standard Data Package di Open Knowledge, che mi piace perché è molto flessibile, e io pubblico dati "strani" (da grafi etc.). Vi risulta che sia ancora in uso? Vedo che le pagine di documentazione su GitHub sono ferme da due anni. Siete al corrente di standards alternativi, magari più usati dalla comunità accademica?(Non che la comunità accademica sia molto interessata a rilasciare dati di buona qualità, nella mia esperienza)
--
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.
Per visualizzare questa discussione sul Web, visita https://groups.google.com/d/msgid/spaghettiopendata/5a8a1c03-93cd-4a2b-9ed9-45b4a635f5c4%40googlegroups.com.
Per visualizzare questa discussione sul Web, visita https://groups.google.com/d/msgid/spaghettiopendata/CAHEdGZMLUh9jBgvNFxxQ8spdjSYvTfub_S4ES4yjtg%3DMQ0rL1Q%40mail.gmail.com.
Andrea: grazie! Vedo questa libreria Python, ma non sono sicurissimo di come usarla... è possibile generare il datapackage.json in modo più o meno automatizzato?Felipe: thanks friend, I'll take you up on that. When I have the data files, I will reach out to you on Telegram. What is FR?
--
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.
Per visualizzare questa discussione sul Web, visita https://groups.google.com/d/msgid/spaghettiopendata/d2ff3e25-ab7b-4b56-9e8e-4323239c742a%40googlegroups.com.
Andrea: grazie! Vedo questa libreria Python, ma non sono sicurissimo di come usarla... è possibile generare il datapackage.json in modo più o meno automatizzato?
package.infer('**/*.csv')
funziona solo con CSV, giusto? Non c'è una funzione equivalente per JSON?
--
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.
Per visualizzare questa discussione sul Web, visita https://groups.google.com/d/msgid/spaghettiopendata/cb02cbcc-f8e1-4228-af5d-c4af701807d3%40googlegroups.com.
--
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.
Per visualizzare questa discussione sul Web, visita https://groups.google.com/d/msgid/spaghettiopendata/cb02cbcc-f8e1-4228-af5d-c4af701807d3%40googlegroups.com.
pip install datapackage
--
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.
Per visualizzare questa discussione sul Web, visita https://groups.google.com/d/msgid/spaghettiopendata/2b46031e-6a57-4913-9500-fc71923e8e38%40googlegroups.com.
package = datapackage.Package()
package.infer('/kaggle/input/**/*.csv')
DataPackageException: Local path "../input/poprebel-psuedonymized/annotations.csv" is not safe
Ora mi studio un po' Data World
Segue il messaggio di errore dell'installatore
pip install datapackage
[... molti messaggi di status ...]
Failed building wheel for cchardet
Running setup.py clean for cchardet
Building wheel for linear-tsv (setup.py) ... done
Stored in directory: /Users/albertocottica/Library/Caches/pip/wheels/3f/8a/cb/38917fd1ef4356b9870ace7331b83417dc594bf2c029bd991f
Successfully built linear-tsv
Failed to build cchardet
[... molti messaggi di status e warnings ...]
ld: library not found for -lstdc++
clang: error: linker command failed with exit code 1 (use -v to see invocation)
error: command 'g++' failed with exit status 1
----------------------------------------
Command "/anaconda3/bin/python -u -c "import setuptools, tokenize;__file__='/private/var/folders/n8/szbcd5613wg9bk3r40lyrdlr0000gn/T/pip-install-18lbl3xf/cchardet/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /private/var/folders/n8/szbcd5613wg9bk3r40lyrdlr0000gn/T/pip-record-bwcf8811/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /private/var/folders/n8/szbcd5613wg9bk3r40lyrdlr0000gn/T/pip-install-18lbl3xf/cchardet/
Ho guardato DataWorld. L'interfaccia per caricare i metadati è fatta bene, ma – basandomi su questo – mi pare poi di capire che il modo di scaricare il datapackage.json sia di usare funzioni di questa libreria. Se è così, siamo da capo: l'installazione della libreria sul mio Mac fallisce con lo stesso errore della libreria datapackage originale :-(.
--
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.
Per visualizzare questa discussione sul Web, visita https://groups.google.com/d/msgid/spaghettiopendata/85a07487-53c1-4398-9690-b4d4bd08ef3c%40googlegroups.com.
Ciao Alberto,ti metto qualche nota di base.
Devi partire dal tuo token, che trovi qui https://data.world/settings/advanced
Una volta che hai il token, in base alla documentazione delle API devi costruire la chiamata.
Per avere l’elenco dei tuoi dataset:
curl --request GET \
--url https://api.data.world/v0/user/datasets/own \
--header 'authorization: Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJwcm9kL......xxxxx'
In python qualcosa come
import http.client
conn = http.client.HTTPSConnection("api.data.world")
headers = { 'authorization': "Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJwcm9kL......xxxxx" }
conn.request("GET", "/v0/user/datasets/own", headers=headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
Dalla chiamata di sopra ricavi l’ID dei tuoi dataset.
Per il download di uno di questi dataset
curl --request GET \
--url https://api.data.world/v0/download/nomeUtente/idDataset \
--header 'authorization: Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJwcm9kL......xxxxx '
Facci sapere
Ciao Albe,
per lo zip con il datapackage
curl 'https://download.data.world/datapackage/nomeUtente/idDataset' \
-H 'content-type: application/x-www-form-urlencoded' \
--data 'authentication=Bearer+eyJhbGciOiJIUxxxxxxxxxxxxx' --compressed >albe.zip
Perdonami avevo sbagliato end-point
--
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.
Per visualizzare questa discussione sul Web, visita https://groups.google.com/d/msgid/spaghettiopendata/af3eff05-3fd7-4f03-86dd-b6deaa9a5f1b%40googlegroups.com.
Ciao Alberto,
quando importi una risorsa in dataworld, viene sottoposta a inferencing dei tipi di campo, con trasformazioni più o meno pesanti.
Se hai due colonne longitude, latitude, diventerà ad esempio un campo location con valori espressi in notazione WKT (POINT(13.3315658569 38.1515674216)
.
Quindi original e data possono non essere coincidenti (fai un diff) e in ogni casa rappresentano i raw data e i dati eventualmente trasformati.
Lo schema ce l’hai proprio grazie all’inferencing. Se viene mappato un campo data, avrai qualcosa come quella di sotto, in cui un campo data è definito secondo standard:
{
"name": "data",
"title": "data",
"type": "date",
"rdfType": "http://www.w3.org/2001/XMLSchema#date",
"dwSourceId": "data"
}
Detto questo, a mio avviso è una tua scelta su cosa “tenere”.
Baci
--
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.
Per visualizzare questa discussione sul Web, visita https://groups.google.com/d/msgid/spaghettiopendata/8071bdac-1b23-4d4f-82ea-677c81fd58fa%40googlegroups.com.