#!/bin/bash function _jq { echo ${2} | base64 --decode | jq -r ${1} } function download { mkdir -p /tmp/${1}/${2} pushd /tmp/${1}/${2} echo curl ${3} -L -O #echo curl ${3} -b "${4}" -L --output ${5} curl ${3} -S -f -L -O popd } function query { curl -G "https://data.dsi-ontwikkel.omgeving.vlaanderen.be/sparql?"\ -H "Accept: application/json"\ --data-urlencode 'query=PREFIX dcat: prefix owl: prefix rdf: prefix dossier: prefix skos: prefix dcterms: prefix rdfs: prefix dsi: prefix ns2: prefix prov: prefix foaf: prefix dcat: SELECT DISTINCT ?dossier ?dossier_lb ?fichelink ?procedurestap ?adviesvraag ?ADVVRG ?startdatum ?einddatum ?adviesverlener ?adviesverlener_cd WHERE { ?adviesvraag dcterms:type . ?adviesvraag prov:wasAssociatedWith ?ag . ?ag rdfs:label ?adviesverlener. ?ag skos:notation ?adviesverlener_cd . ?adviesvraag dossier:vindtPlaatsTijdens ?procedurestap . ?procedurestap rdfs:label ?procedurestap_lb . ?procedurestap a dossier:Procedurestap . ?procedurestap dcterms:hasPart ?uow . ?uow dsi:begindatum ?startdatum . ?uow dsi:einddatum ?einddatum . ?zaak dossier:doorloopt ?procedurestap . ?dossier dossier:isNeerslagVan ?zaak . ?dossier foaf:homepage ?fichelink . ?dossier rdfs:label ?dossier_lb . ?adviesvraag prov:generated/dossier:isVoorgesteldDoor/ ?ADVVRG . FILTER (?einddatum >= NOW()). BIND( IRI(CONCAT("https://data.dsi.omgeving.vlaanderen.be/id/dossier/", "'$1'")) as ?mijn_dossier) FILTER(?dossier = ?mijn_dossier) } ORDER BY DESC(?einddatum) ?procedurestap ?adviesverlener'\ --compressed\ -H 'Connection: keep-alive'\ --output '/tmp/downloadurls.json' } function iterate { local myarray=`jq -r '.results .bindings[]' '/tmp/downloadurls.json' ` local row for row in $(echo "${myarray}" | jq -r '. | @base64'); do local dossier=`echo $(_jq '.dossier.value' ${row}) | sed -e 's;https://data.dsi.omgeving.vlaanderen.be/id/dossier/;;' | tr '/' '_'` local adviesverlener=`echo $(_jq '.adviesverlener.value' ${row}) | tr ' ' '_' | tr '[A-Z]' '[a-z]'` local downloadurl=`echo $(_jq '.ADVVRG.value' ${row})` echo $st_label download ${dossier} ${adviesverlener} ${downloadurl} done } dossiernummer=${1} query ${dossiernummer} iterate