Informationen für Entwicklerinnen und Entwickler

Hier erhalten Sie technische Hinweise, um unsere Metadaten über die Programmierschnittstelle CKAN abzurufen und bekommen Informationen zu wichtigen Tools und eingesetzter Open Source-Software.

Die CKAN-Schnittstelle und ihre Funktionen

CKAN (Comprehensive Knowledge Archive Network) ist eine Open Source-Software zur Katalogisierung und Bereitstellung von Open Data. So können mittels Schnittstellen zur CKAN-Software Daten über das Open.NRW-Portal verwaltet, gesucht und abgerufen werden. 

Das Bild zeigt das Logo der Schnittstelle CKAN

Die Veröffentlichung ist durch den Import der Datensätze oder mittels Referenzierung möglich. Sowohl die Beschreibung, also die Metadaten, als auch der Dateninhalt können über CKAN gespeichert werden. Über Schlüsselworte oder Kategorien aus den Textelementen der Datensatzbeschreibungen kann nach Daten gesucht werden. CKAN bietet außerdem die Möglichkeit, Metadaten automatisch abzurufen, was als Downharvesting bezeichnet wird. Dies nutzen auch Portale der Länder und des Bundes, denn durch das Harvesten von Daten können die Portale auf eine Vielzahl von Metadaten zugreifen. Für Entwicklerinnen und Entwickler bietet die CKAN-Schnittstelle die Möglichkeit, Daten für die Schaffung von Applikationen oder Programmen zu nutzen, die auf den veröffentlichten Daten basieren. Zahlreiche Erweiterungsfunktionen bieten darüber hinaus Raum für individuelle Anpassungen.

Die Software wird weltweit von Verwaltungen und staatlichen Einrichtungen genutzt, so auch von Open.NRW und GovData, dem deutschen Portal für offene Verwaltungsdaten. Sie ist kostenlos verfügbar und wird laufend von der Open Knowledge International weiterentwickelt.

CKAN in der Praxis

Programmierschnittstellen (APIs: Application Programming Interface) dienen zum Austausch und der Weiterverarbeitung von Daten und Inhalten zwischen verschiedenen Websites, Programmen und Anbietern und ermöglichen Dritten den Zugang zu vorher verschlossenen Datenpools. Die API von CKAN macht Nutzerinnen und Nutzern alle zentralen Funktionen von CKAN verfügbar. Alle Kernfunktionen der Schnittstelle können von externen Codes verwendet werden, wenn die CKAN-API genutzt wird. Zum Beispiel können JSON-formatierte Listen von Datensätzen oder Gruppen abgerufen, eine vollständige JSON-Darstellung eines Datensatzes ausgegeben oder nach Paketen oder Ressourcen gesucht werden. Eine Reihe an API-Beispielen finden Sie unter dem Themenpunkt „api-examples“ auf ckan.org. Das Open.NRW-Datenportal kann die Metadaten außerdem als Linked-Data, als JSON-LD und als RDF über die API abgeben. Weitere praktische Informationen zu CKAN können Sie auf der Website von CKAN finden.

 

Konkrete Anwendungsbeispiele

 

Anwendungsfall  Request Erklärung
Anzeige aller Datensätze Link Mit dem Befehl 'current_package_list_with_resources' wird eine Anfrage zur Anzeige aller Datensätze abgeschickt. Um den Cache des Browsers nicht überlaufen zu lassen wird mit dem Attribut 'limit' die Menge der Angefragten Datensätze limitiert (in diesem Fall auf 10 Stück). Zurückgeliefert werden somit die ersten 10 Datensätze (1 - 10).
Pagination der Ergebnisse aller Datensätze  Link Mit dem Befehl 'current_package_list_with_resources' wird eine Anfrage zur Anzeige aller Datensätze abgeschickt. Mit dem Attribut 'limit' wird die maximale Anzahl der zurückgesendeten Ergebnisse limitiert (in diesem Fall 10). Durch das Attribut 'offset' wird festgelegt ab welchem Datensatz zurückgeliefert wird (in diesem Fall ab 11). So wird mit dieser Anfrage erreicht, dass maximal 10 Datensätze zurückgelieft werden, wobei durch das gegebene Offset die Datensätze 11 - 20 zurückkommen.
Anzeige eines bestimmten Datensatzes  Link Mit dem Befehl 'package_show' wird eine Anfrage zur Abfrage eines bestimmten Datensatzes gestellt. Dabei muss mit den Attribut 'id' der Name/ID des abzufragenden Datensatzes gesetzt sein.
Anzeige aller Datensätze mit einem bestimmten Tag  Link Mit dem Befehl 'tag_show' wird eine Anfrage zur Abfrage zur Anzeige aller Datensätze die den 'Tag Emmerich am Rhein' besitzen.
Anzeige der Distribution URL eines Datensatzes  Link Mit dem Befehl 'package_search' werden alle Datensätze angefragt. 'fq' beschreibt dabei, welchen Kriterien der Datensatz entsprechen muss. In diese, Fall muss der Datensatz das Attribut 'id' besitzen, welches in diesem Beispiel dem Wert '00543f2a-3f8e-bf95-cbff-53c9c1edbc36' entsprict. Durch das Attribut 'facet.field' wird angeben an welchem Attributwert wir interessiert sind. In diesem Fall wollen wir gesondert den Wert des Attributs 'url' erhalten. Zu beachten ist hier, dass facet.field eine Liste von Strings erwartet. Somit muss das Attribut immer wie folgt angegeben werden: ["attribut"]. Bei mehreren Attributen wie folgt angefragt: ["attr1", "attr2]. Unter 'results' werden immer die ersten 10 Ergebnisse angezeigt. Für die nächsten 10 Ergebnisse müsste die Variable 'start' mit dem Wert nächsten höheren Startwert angehängt - in diesem Fall also '11' an die Abfrage. 
Suche aller Datensätze mit einem bestimmten Attribut  Link Mit dem Befehl 'package_search' werden alle Datensätze angefragt. 'facet.field' beschreibt dabei, welches Attributfeld der Datensatz dabei enthalten muss (in diesem Fall revision_id). Zu beachten ist hier, dass facet.field eine Liste von Strings erwartet. Somit muss das Attribut immer wie folgt angegeben werden: ["attribut"]. Bei mehreren: ["attr1", "attr2]. Unter 'results' werden immer die ersten 10 Ergebnisse angezeigt. Für die nächsten 10 Ergebnisse müsste die Variable 'start' mit dem Wert '11' in die Query angehängt werden. 

Open.NRW bei GitHub

Logo von GitHub

Für Entwicklerinnen und Entwickler kann auch ein Blick auf GitHub nützlich sein. Hier können Softwares und andere Anwendungen gespeichert und, wenn möglich, unter einer Open Source-Lizenz veröffentlich werden.

Auch Open.NRW bietet über GitHub Informationen und technische Hinweise an: Beispielsweise erhalten Entwicklerinnen und Entwickler dort die von uns entworfene Bridge zwischen INSPIRE und DCAT-AP.de zur Übersetzung des Metadatenprofils, denn die Metadaten im Open.NRW-Portal werden unter Berücksichtigung des Standards DCAT-AP.de erfasst.

Mehr Informationen zu quelloffener Software, die im Rahmen von Open.NRW-Projekten entstanden ist, finden Sie im Bereich Unterstützung unter Open Source-Software.