datagov-cz / nkod

Národní katalog otevřených dat (NKOD) a sběr požadavků na něj. Tento repozitář byl udržován v rámci projektu OPZ č. CZ.03.4.74/0.0/0.0/15_025/0013983 a nyní je udržován v rámci Národního plánu obnovy.
https://data.gov.cz
6 stars 2 forks source link

Získání URL datasetů z konkrétní datové série #31

Closed kokes closed 2 years ago

kokes commented 2 years ago

Ahoj, mám zájem o získání URL jednotlivých datových souborů v téhle sérii, jde o třicet souborů, které se ale aktualizují čtvrtletně, tak bych rád měl nějaký kód, který si vždy najde 30 aktuálních URL z NKODu.

Jaký je dobrý způsob, jak se k těmto URL dostat (JSON, CSV, XML, cokoliv čitelného)? Nerad bych stahoval celý katalog, ale věřím, že to půjde přes API. Zkoušel jsem váš GraphQL endpoint, ale bez dokumentace s příklady mám problém z něj cokoliv smysluplného dostat (resp. nenašel jsem tam filtr na sérii a vlastně ani nevím, zda těch 30 datový sad jsou jedním datasetem nebo více nebo jak ta struktura funguje).

Díky za pomoc, O.

jakubklimek commented 2 years ago

Viz https://api.triplydb.com/s/jMp430_SD - v Network pak můžeš vidět i URL, který reprezentuje ten dotaz. Když si řekneš (Accept v HTTP požadavku) o text/csv, dostaneš CSV. Když si řekneš o application/json, dostaneš JSON.

kokes commented 2 years ago

Super, dík, pro kompletnost dávám výsledný dotaz

curl 'https://data.gov.cz/sparql' \
  -H 'accept: application/sparql-results+json,*/*;q=0.9' \
  -H 'content-type: application/x-www-form-urlencoded' \
  --data-raw 'query=PREFIX%20dcterms%3A%20%3Chttp%3A%2F%2Fpurl.org%2Fdc%2Fterms%2F%3E%0APREFIX%20dcat%3A%20%3Chttp%3A%2F%2Fwww.w3.org%2Fns%2Fdcat%23%3E%0ASELECT%20%3FURL%20WHERE%20%7B%0A%20%20%3Fpart%20a%20dcat%3ADataset%20%3B%0A%20%20dcterms%3AisPartOf%20%3Chttps%3A%2F%2Fdata.gov.cz%2Fzdroj%2Fdatov%C3%A9-sady%2F00006947%2F4e4762f06ca63a491efc360e793abc09%3E%20%3B%0A%20%20dcat%3Adistribution%20%3Fdistribution%20.%0A%20%20%3Fdistribution%20a%20dcat%3ADistribution%20%3B%0A%20%20dcat%3AdownloadURL%20%3FURL%20.%0A%7D' \
  --compressed
skodapetr commented 2 years ago

V GraphQL:

curl 'https://data.gov.cz/graphql' \
  -H 'accept: application/json' \
  -H 'content-type: application/json' \
  --data-raw '{"query":"query { datasets ( limit: 100 filters: { isPartOf: \"https://data.gov.cz/zdroj/datové-sady/00006947/4e4762f06ca63a491efc360e793abc09\" }) {  data { distribution { accessURL } } pagination { totalCount } } }"}'