Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Harvesting: Wie das Open Data Portal der Stadt Zürich seine Daten "erntet"

Harvesting: Wie das Open Data Portal der Stadt Zürich seine Daten "erntet"

Stefan Oderbolz

April 30, 2019
Tweet

More Decks by Stefan Oderbolz

Other Decks in Technology

Transcript

  1. Fachvortrag HSR 30. April 2019, Seite 3 Stadt Zürich Statistik

    Was ist Open Government Data (OGD)? – OGD sind Daten aus der Verwaltung, die von ALLEN – frei benutzt – weiterverwendet & – geteilt werden können.» – OGD umfasst – Keine Gebühren: kostenfreie Nutzung – Keine Logins: einfacher Zugang – Offene Datenformate: keine kostspielige Software notwendig – Offene Lizenzen: keine Nutzungsbeschränkungen
  2. Fachvortrag HSR 30. April 2019, Seite 4 Stadt Zürich Statistik

    Was ist NICHT OGD? – OGD umfasst KEINE – persönlichen Daten – sicherheitsrelevanten Daten – urheberrechtlich geschützten Daten – Daten, die dem Amtsgeheimnis unterliegen  Gläserner Staat, nicht gläserne Bürger
  3. Fachvortrag HSR 30. April 2019, Seite 5 Stadt Zürich Statistik

    Open Data Team – Koordination von OGD innerhalb der Stadtverwaltung – Beratung / Workshops / Anleitungen – Datenaufbereitung, -publikation und Pflege von Metadaten – Zentrale Anlaufstelle bei Fragen – Betreuung des Open-Data-Portals – Kommunikation (Twitter, Blog, Intranet, Events) – Austausch mit der Open Data Community – Mitarbeit bei der nationalen OGD-Initiative
  4. Fachvortrag HSR 30. April 2019, Seite 6 Stadt Zürich Statistik

    Mehrwert von Open Data – Mehrfachnutzung und Wiederverwendbarkeit – Wirtschaftlichkeit: kostspielig erhobene Daten, die von der Öffentlichkeit finanziert wurden, können nicht nur von ein paar wenigen, sondern von allen verwendet werden. – Innovation – Mit den Daten können Services und Dienstleitungen von Dritten erstellt werden  gesellschaftlicher & wirtschaftlicher Mehrwert – Effizientere und effektivere Dienstleistungen – Kosteneinsparungen durch Selbstbedienungsangebot, innerstädtischer Datenaustausch – Transparenz – Nachvollziehbarkeit und Image
  5. Fachvortrag HSR 30. April 2019, Seite 7 Stadt Zürich Statistik

    OGD-Katalog – 361 Datensätze – Einfache Suche, Previews – Detaillierte Metadaten – Keine proprietären Formate, internationale Standards – Maschinenlesbarkeit – Klare Lizenzangaben https://data.stadt-zuerich.ch/dataset
  6. Fachvortrag HSR 30. April 2019, Seite 8 Stadt Zürich Statistik

    OGD-Katalog: Harvesting von Datenportalen
  7. Fachvortrag HSR 30. April 2019, Seite 9 Stadt Zürich Statistik

    Föderales System von Datenportalen STADT ZÜRICH OPEN TRANSPORT DATA EUROPEAN DATA PORTAL SWISSCOM OPENDATA.SWISS SCHWEIZER POST
  8. Fachvortrag HSR 30. April 2019, Seite 10 Stadt Zürich Statistik

    DCAT-AP Switzerland – Offizieller Schweizer Standard für Katalog-Metadaten – eCH-0200 (https://www.ech.ch/de/standards/39919) – Basiert auf DCAT-AP EU (Europäischer Standard) – DCAT ist ein RDF Vocabulary (definiert von W3C) – data.stadt-zuerich.ch liefert seine Daten als DCAT-AP Switzerland RDF an opendata.swiss
  9. Fachvortrag HSR 30. April 2019, Seite 12 Stadt Zürich Statistik

    Was ist CKAN? Python-basiertes Framework um Datenportale zu bauen – Extensions erlauben das System zu erweitern – API-driven, Web Frontend ist optional (headless) – Flexibles Schema für Datensätze und Ressourcen – Open Source, mit aktiver Community
  10. Fachvortrag HSR 30. April 2019, Seite 18 Stadt Zürich Statistik

    CKAN Extensions – CKAN kann durch Extensions erweitert werden – Das Framework bietet diverse Interfaces um sich ins System einzuhängen – Für diverse Use Cases gibt es bereits Standard-Extensions – ckanext-harvest (Harvesting) – ckanext-dcat (DCAT/RDF Bereitstellung) – ckanext-pages (einfaches CMS) – ckanext-comments (Kommentarfunktion) – …
  11. Fachvortrag HSR 30. April 2019, Seite 20 Stadt Zürich Statistik

    Was ist Harvesting? – Unter "Harvesting" (engl. to harvest – ernten) versteht man das automatisierte Zusammentragen von Daten – Ziel ist es, die Daten an einem zentralen Ort zur Verfügung zu stellen – Das Harvesting ist häufig ein zeitaufwändiger Prozess (viel IO) und wird meistens über Nacht durchgeführt
  12. Fachvortrag HSR 30. April 2019, Seite 21 Stadt Zürich Statistik

    Quellen für das Harvesting – Andere Datenportale – Anderes CKAN Portal – Geometadatensystem mit CSW Schnittstelle – Portal mit OAI-PMH Schnittstelle – Portal mit RDF Endpunkt (z.B. DCAT-AP Switzerland) – Dateisystem – Fachabteilungen haben Zugriff auf Netzwerk-Verzeichnis – 1 Ordner = 1 Dataset, Metadaten via metadata.xml Datei
  13. Fachvortrag HSR 30. April 2019, Seite 22 Stadt Zürich Statistik

    Architektur eines CKAN Harvesters – Harvest Cronjob – Startet den Harvest-Prozess – Führt gather stage aus – Füllt die fetch queue – 1 Prozess – Fetch Daemon – Konsumiert Daten aus der fetch queue – Führt die fetch stage aus – Füllt die import queue – 1 bis X Prozesse – Import Daemon – Konsumiert Daten aus der import queue – Führt die import stage aus – 1 bis X Prozesse
  14. Fachvortrag HSR 30. April 2019, Seite 23 Stadt Zürich Statistik

    Architektur eines CKAN Harvesters CKAN GATHER FETCH FETCH QUEUE IMPORT SOURCE IMPORT QUEUE get list of items fetch data of item import metadata
  15. Fachvortrag HSR 30. April 2019, Seite 24 Stadt Zürich Statistik

    Message Queue – Eine Message Queue folgt dem klassischen FIFO-Prinzip ("First In – First Out") – Kanal für die asynchrone Kommunikation – Es ist ein Protokoll, d.h. es ist Implementation-agnostisch – Jede Komponente (Sender, Empfänger, MQ) kann in beliebiger Programmiersprache/Betriebssystem etc. implementiert werden – CKAN verwendet den AMQP-Standard (Advanced Message Queuing Protocol) für das Harvesting
  16. Fachvortrag HSR 30. April 2019, Seite 25 Stadt Zürich Statistik

    RabbitMQ als Message Queue – Implementiert AMQP vollständig – Open Source, in Erlang geschrieben – Empfohlen für grosse Umgebung mit vielen Messages – Clustering – Garantierte Zustellung von Messages – Routing von Messages – Erlaubt die Überwachung der Queues
  17. Fachvortrag HSR 30. April 2019, Seite 26 Stadt Zürich Statistik

    Redis als Message Queue – "Poor Man's Message Queue" – Redis ist eine In-Memory-Datenbank (Key/Value Store) – Queue wird über Namenkonvention erstellt – 1 Eintrag für fetch queue – 1 Eintrag für import queue – Bei definiertem Key wird eine Liste angelegt – Konsumieren mit BLPOP ("blocking POP") auf der Liste while True: key, body = self.redis.blpop(self.routing_key)
  18. Fachvortrag HSR 30. April 2019, Seite 29 Stadt Zürich Statistik

    Datenangebot - Hauptgruppen 1. Sachdaten (tabellarische Daten, csv, 202) 2. Geodaten (räumliche Daten, gpkg / json / kml / wfs / wmts, 146) 3. APIs / WebServices (Echtzeitdaten) 4. Linked Open Data (Link, rdf) 5. Bilder (Archiv- und Metadaten)
  19. Fachvortrag HSR 30. April 2019, Seite 30 Stadt Zürich Statistik

    Schutzbedarf eines Datensatzes – Amtsgeheimnis – Datenschutz, falls sich dieser nicht durch technische Methoden (zum Beispiel Aggregierung) gewährleisten lässt – Übergangsdaten, Daten zu laufenden Geschäften, Notizen – Übergeordnetes öffentliches Interesse, zum Beispiel Staatsschutz – Informationsschutz, zum Beispiel als «intern» klassifizierte Daten – Urheberrecht – Übergeordnetes Recht, zum Beispiel die Geoinformationsgesetzgebung – Konkurrenzsituation, falls eine Dienstabteilung marktwirtschaftlich operiert und das Veröffentlichen von Daten Wettbewerbern entscheidende Vorteile verschaffen würde