Datenserien
Wie kommt man bequem an alle Datensätze und Dateien einer Datenserie im Open-Data-Portal Schleswig-Holstein heran? Ich erkläre es euch.
Eine Möglichkeit ist es, über die DCAT-AP.de Metadaten zu gehen. Für die Datenserie der KFÜ-Messwerte sind diese hier zu erreichen https://opendata.schleswig-holstein.de/dataset/kfue-7t.rdf Darin gibt es Einträge der Form
<dct:hasVersion rdf:resource="https://opendata.schleswig-holstein.de/dataset/5a9685b3-3979-4a40-b75c-dc4cc882ad29"/>
die auf die einzelnen Datensätze der Serie verweisen.
Eine zweite Möglichkeit ist das CKAN-API. Diese Daten sind über https://opendata.schleswig-holstein.de/api/action/package_show?id=kfue-7t zu erreichen. In dem JSON-Dokument ist eine Liste relationships_as_object
enthalten. Ein Eintrag darin sieht so aus:
{
"__extras" : {
"object_package_id" : "d5d010b0-dce0-4a19-8f55-445612dd389c",
"subject_package_id" : "5a9685b3-3979-4a40-b75c-dc4cc882ad29"
},
"comment" : "",
"id" : "25d75cd4-d90f-4106-a064-22182047e3d3",
"type" : "child_of"
}
Die gesuchte Kennung des Datensatzes steht im Feld subject_package_id
.
Mit folgendem Kommandozeilenaufruf kann man sich eine Liste aller Datensatz-Ids erzeugen:
curl https://opendata.schleswig-holstein.de/api/action/package_show?id=kfue-7t |\
jq .result.relationships_as_object[].__extras.subject_package_id
Oder in Python:
import json
import requests
url = 'https://opendata.schleswig-holstein.de/api/action/package_show?id=kfue-7t'
response = requests.get(url)
data = response.json()
package_ids = [item['__extras']['subject_package_id'] for item in data['result']['relationships_as_object']]
for id in package_ids:
print(id)
An die neuste CSV-Datei aus der Serie kommt man übrigens immer über diese Adresse heran: https://opendata.schleswig-holstein.de/collection/kfue-7t/aktuell.csv