FAQ & API

1. Was ist Open Data? 

Open Data bezeichnet die Idee, Daten für die Öffentlichkeit zur Nutzung frei zur Verfügung zu stellen. Darunter fallen auch Daten, die von Verwaltungshandeln den erhoben und bisher oft in den Behörden ‚gehortet‘ werden. Gemeint sind vor allem Daten, die von allgemeinem Interesse sind und öffentliche Aspekte erfassen wie z. B.: Geo-, Verkehrs-, Wetter- und Haushalts-Daten. Ausgeschlossen von einer Veröffentlichung sind personenbezogene Daten, die aus Sicherheitsgründen dem Datenschutz unterliegen (Dietrich, 2011; Open Knowledge Foundation Deutschland, o. J.). 

2. Warum Open Data? Was bringt’s?

Im digitalen Zeitalter spielen Daten eine wichtige Rolle für unsere Gesellschaft und beeinflussen viele Bestandteile des heutigen Lebens. Gemeinsames Nutzen kann einen Mehrwert für Politik, Wissenschaft, Wirtschaft und direkt für Bürger*innen bedeuten. Es wird angenommen, dass es zu einem enormen wirtschaftlichen Gewinn führen und demokratische Elemente wie Transparenz und Bürgerbeteiligung vorantreiben kann.​

3. Was sind die Erfolgsfaktoren?

Es werden drei Erfolgsfaktoren genannt, die zu einer stärkeren Akzeptanz und Nutzung des Portals führen. Erstens ist es ratsam sich an bereits existierenden Strategien und technischen Lösungen von anderen Städten zu orientieren. Dadurch muss Konstanz keine eigene, teure Software-Lösung schaffen, ist unabhängig von Firmen und kann auf Erfahrungen und ein erprobtes System zurückgreifen. 

Zweitens sollten Datenauswahl und -qualität beachtet werden. Massen an Informationen und schlechte Datenqualität können Adressaten von der Nutzung abschrecken. Notwendig sind gute technische Lösung mit guter Suchfunktion, aber langfristig auch Strukturen, die im Umgang mit Open Data unterstützen und Datenqualität sichern, sowohl verwaltungsextern als auch intern.

Drittens ist es wichtig, Akteure innerhalb und außerhalb der Verwaltung einzubeziehen. Besonderer Fokus der von Konstanz gewählten Plattform liegt auf der Interaktion mit Nutzern.​

Autorin: Clara Goerlich

 

Wie benutzt man die DKAN API?

 

Über das Portal ist es nicht nur möglich sich Datensätze anzuschauen und herunterzuladen. Man kann ausgewählte Datensätze auch direkt über URL ansprechen und so, programmgesteuert, mit diesen arbeiten. Grundsätzlich funktioniert dies über eine API (Programmierschnittstelle), die lesenden Zugriff auf Portalinhalte ermöglicht. Im Folgenden wird die API, die sich in zwei Blöcke gliedert, und deren Möglichkeiten veranschaulicht.

 

1. Dataset API

Diese API bezieht sich auf das Portal und dessen Inhalte im Allgemeinen. So ist es möglich, den Zustand des Portals auszulesen bis hin zu einer Ausgabe aller

vorhandenen Datensätze. Zu erreichen sind die einzelnen Funktionen unter http://offenedaten-konstanz.de/api/3/action/{Name der Funktion} wobei {Name der Funktion} mit einer der unten gelisteten Funktionen zu besetzen ist. Die Ausgabe erfolgt immer im json Format.

 

Funktion site_read

Beschreibung: Zeigt an, ob das Portal grundsätzlich erreichbar ist

Beispielaufruf: http://offenedaten-konstanz.de/api/3/action/site_read

Rückgabetyp: Boolean

 

Funktion package_list

Beschreibung: Liefert eine Liste mit allen Datensatz Containern (Dataset)

Beispielaufruf: http://offenedaten-konstanz.de/api/3/action/package_list

Rückgabetyp: List of Dictionaries

 

Funktion current_package_list_with_ressources

Beschreibung: Liefert eine Liste mit allen Datensatz Containern (Dataset) und den beinhaltenden Dateien (Ressourcen)

Beispielaufruf: http://offenedaten-konstanz.de/api/3/action/current_package_list_with_resources

Rückgabetyp: List of Dictionaries

 

Funktion package_show

Beschreibung: Liefert die Metadaten eines Datasets und dessen Ressourcen

Parameter: id

Beispielaufruf: http://offenedaten-konstanz.de/api/3/action/package_show?id=vornamen

Rückgabetyp: Dictionary

 

Funktion resource_show

Beschreibung: Liefert die Metadaten einer Ressource

Parameter: id

Beispielaufruf: http://offenedaten-konstanz.de/api/3/action/resource_show?id=dc37dce2-1550-4257-a896-e1056062b37c

Rückgabetyp: Dictionary

 

Funktion group_list

Beschreibung: Liefert die Namen der angelegten Gruppen (Beteiligte)

Beispielaufruf: http://offenedaten-konstanz.de/api/3/action/group_list

Rückgabetyp: List of strings

 

Funktion group_package_show

Beschreibung: Liefert alle Datasets und Ressourcen einer Gruppe (Beteiligte)

Beispielaufruf: http://offenedaten-konstanz.de/api/3/action/group_package_show?id=dc37dce2-1550-4257-a896-e1056062b37c

Rückgabetyp: List of Dictionaries

 

2. Datastore API

Diese API bezieht sich auf Datensätze, die von uns in den internen Datastore geladen wurden. Der Datastore bietet die Möglichkeit, (zurzeit nur CSV) Dateien in einem json Format aufrufbar zu machen. Dies ermöglicht das direkte arbeiten mit den einzelnen Ressourcen, ohne diese herunterladen zu müssen. Die einzelnen Dateien können nach folgendem Schema aufgerufen werden http://offenedaten-konstanz.de/api/action/datastore/search.json?resource...{ID der Ressource}. Zurzeit werden Ressourcen, bei denen ein Datastore Zugriff möglich ist über den Button "Data API" innerhalb der Ressourcenansicht angezeigt. Hier wird auch ein Beispiel-Link mit der jeweiligen Ressourcen ID dargestellt. Sukzessive werden Verlinkungen zur Json Darstellung der Ressource auch in der Hauptansicht (Dataset) angezeigt werden, um eine bessere Sichtbarkeit zu erreichen. Folgende Beispiele beziehen sich auf die Ressource Vornamen 2014

 

Parameter: limit

Beschreibung: Beschränkt die Ausgabe auf die angegebene Anzahl der Treffer. Standardmäßig werden 100 Treffer zurückgegeben, dieser Wert kann über den Parameter limit erweitert oder eingegrenzt werden. Es wird gerade bei größeren Dateien empfohlen eine Ausgabe von 100 Treffern nicht zu überschreiten sondern bei Bedarf an weiteren Treffern den Parameter offset zu benutzen.

Beispielaufruf: http://offenedaten-konstanz.de/api/action/datastore/search.json?resource_id=dc37dce2-1550-4257-a896-e1056062b37c&limit=10

Rückgabetyp: Dictionary

 

Parameter: offset

Beschreibung: Beschreibt den Versatz an Treffern => die nächsten {n} Treffer.

Beispielaufruf: http://offenedaten-konstanz.de/api/action/datastore/search.json?resource_id=dc37dce2-1550-4257-a896-e1056062b37c&offset=10

Rückgabetyp: Dictionary

 

Parameter: fields

Beschreibung: Komma separierte Zeichenketten. Schränkt die Ausgabe auf die gewünschten Felder ein.

Beispielaufruf: http://offenedaten-konstanz.de/api/action/datastore/search.json?resource_id=dc37dce2-1550-4257-a896-e1056062b37c&fields=vorname,anzahl

 

Parameter: filters

Beschreibung: Konditionen, die man auf Felder anwenden kann, um die Trefferliste geeignet einzuschränken

Beispielaufruf: http://offenedaten-konstanz.de/api/action/datastore/search.json?resource_id=dc37dce2-1550-4257-a896-e1056062b37c&filters[vorname]=Paul,Anna

 

Parameter: query

Beschreibung: Sucht nach dem gelisteten Feld in der Ressource

Beispielaufruf: http://offenedaten-konstanz.de/api/action/datastore/search.json?resource_id=dc37dce2-1550-4257-a896-e1056062b37c&query=Maria

 

Hinweis: alle Parameter sind untereinander kombinierbar.

Z.B.: Die ersten 10 weiblichen Vornamen, wobei nur die Felder Vorname und Anzahl ausgegeben werden sollen =>

http://offenedaten-konstanz.de/api/action/datastore/search.json?resource_id=dc37dce2-1550-4257-a896-e1056062b37c&filters[geschlecht]=w&fields=vorname,anzahl&limit=10

 

Hinweis für Nutzer der Statistiksoftware R und Python

Der Verein CorrelAid, der auch in Konstanz aktiv ist, hat mit "CitiesRopen" ein Paket für die Statistiksoftware R entwickelt. Damit können Daten aus dem Open Data Portal der Stadt Konstanz eingesehen und heruntergeladen werden. Als technische Grundlage dient die DKAN API. Für die Benutzung von "CitiesRopen" wird ein grundlegendes Verständnis von R vorausgesetzt.

github.com/CorrelAid/CitiesRopen

Auch für Python hat CorrelAid ein Paket entwickelt. So erlaubt "opencities" ebenfalls das Einsehen und Herunterladen von Daten des Portals und basiert auf der DKAN API. Ein grundlegendes Verständnis von Python ist notwendig. 

https://github.com/MisterXY89/konstanz-open-data-api