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. «Harvesting: Wie das Open Data Portal
    der Stadt Zürich seine Daten "erntet"»

    View Slide

  2. Fachvortrag HSR
    30. April 2019, Seite 2
    Stadt Zürich
    Statistik
    WAS IST OPEN GOVERNMENT
    DATA?

    View Slide

  3. 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

    View Slide

  4. 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

    View Slide

  5. 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

    View Slide

  6. 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

    View Slide

  7. 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

    View Slide

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

    View Slide

  9. 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

    View Slide

  10. 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

    View Slide

  11. Fachvortrag HSR
    30. April 2019, Seite 11
    Stadt Zürich
    Statistik
    CKAN

    View Slide

  12. 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

    View Slide

  13. Fachvortrag HSR
    30. April 2019, Seite 13
    Stadt Zürich
    Statistik
    Kategorien

    View Slide

  14. Fachvortrag HSR
    30. April 2019, Seite 14
    Stadt Zürich
    Statistik
    Suche (Apache Solr)

    View Slide

  15. Fachvortrag HSR
    30. April 2019, Seite 15
    Stadt Zürich
    Statistik
    Datensatz

    View Slide

  16. Fachvortrag HSR
    30. April 2019, Seite 16
    Stadt Zürich
    Statistik
    CKAN API

    View Slide

  17. Fachvortrag HSR
    30. April 2019, Seite 17
    Stadt Zürich
    Statistik
    Ressource und Preview

    View Slide

  18. 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)
    – …

    View Slide

  19. Fachvortrag HSR
    30. April 2019, Seite 19
    Stadt Zürich
    Statistik
    HARVESTING &
    MESSAGE QUEUES

    View Slide

  20. 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

    View Slide

  21. 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

    View Slide

  22. 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

    View Slide

  23. 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

    View Slide

  24. 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

    View Slide

  25. 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

    View Slide

  26. 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)

    View Slide

  27. Fachvortrag HSR
    30. April 2019, Seite 27
    Stadt Zürich
    Statistik
    [email protected]
    www.stadt-zuerich.ch/opendata
    @opendatazuerich

    View Slide

  28. Fachvortrag HSR
    30. April 2019, Seite 28
    Stadt Zürich
    Statistik
    BACKUP FOLIEN

    View Slide

  29. 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)

    View Slide

  30. 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

    View Slide

  31. Fachvortrag HSR
    30. April 2019, Seite 31
    Stadt Zürich
    Statistik
    DCAT-AP Schema

    View Slide