LD.Events

Aus LeipzigWiki
Wechseln zu: Navigation, Suche

Home > Leipziger Initiative für Offene Daten

Leipzig Data Events Framework

Zielstellung

Ziel dieses Teilprojekts ist es, eine Infrastruktur aufzubauen, in die Event-Daten in einheitlichem Format aus verschiedenen Quellen und von verschiedenen Akteuren eingespeist werden und der Allgemeinheit zum Gebrauch zur Verfügung stehen.

Die Infrastruktur bietet keinen elaborierten eigenen Service zur Präsentation dieser Event-Daten, sondern überlässt Zusammenführung mit weiteren Event-Daten, Filterung und Präsentation den Anbietern, die auf diese Infrastruktur zugreifen möchten.

Die prinzipiellen Möglichkeiten des Leipzig Data Events Frameworks demonstriert unser Leipzig Data Event Widget.

Der primäre Zugriff erfolgt über Sparql-Anfragen auf einen Sparql-Endpunkt, in dem die Event-Daten mit weiteren Daten über Veranstalter und Veranstaltungsorte aus den Leipzig Data Yellow Pages (im Aufbau) angereichert und zusammengeführt sind.

Derzeit werden die Event-Daten im Projektteam zusammengeführt und einmal wöchentlich aktualisiert.

Beim Design des Gesamtprozesses gehen wir davon aus, dass es eine Betreibergruppe der Infrastruktur geben wird, in der alle wichtigen Fragen abgestimmt werden. Eine enge Zusammenarbeit mit API Leipzig ist vereinbart, zur Kommunikation wird die API Leipzig Mailingliste verwendet.

Das derzeit vorliegende einheitliche Format (aka Protokoll) als Ergebnis eines längeren Entwicklungsprozesses ist in der Leipzig Ontology genauer definiert. Fragen der Weiterentwicklung des Protokolls werden in der Betreibergruppe abgestimmt.

Um Event-Daten in die Infrastruktur einzuspielen, müssen interessierte Akteure einen Service aufsetzen, mit dem relevante eigene Daten (verfügbar etwa als RSS- oder ical-Feed) in das vereinbarte Format überführt werden. Hierzu gibt es eine Reihe von Beispielskripten. Wir beraten interessierte Akteure im Rahmen unserer Möglichkeiten, wie eine solche (nicht schwierige) Bereitstellung erfolgen kann.

Termine werden drei Monate nach Ablauf aus der Datenbasis herausgenommen. Werden Daten lokal weiter benötigt, so müssen diese rechtzeitig aus dem Endpunkt ausgelesen und in eigener Verantwortung gespeichert werden. Auch hierfür gibt eine Reihe von Beispielskripten.

Stand der Umsetzung

Im Events-Netzwerk sind derzeit beteiligt

  • API Leipzig Events Schnittstelle (mehrheitlich Events von kreatives-leipzig.de) - URI-Schema APILeipzig.<API-Nr>
  • MINT-Netzwerk
  • NuKLA - URI-Schema: NuKLA.<Datum>
  • Netzwerk Energie und Umwelt - URI-Schema: NEU.<Datum>

Die Einspeisung von Event-Daten weiterer Partner ist in Vorbereitung.

Folgender Workflow ist dazu für die Projektdauer bis Ende April 2013 aufgesetzt:

  • Neue Einträge werden laufend aufgenommen und in die LD Datenbasis eingearbeitet. Einträge, die mehr als drei Monate zurückliegen, werden aus der Datenbasis entfernt.
  • Wöchentlich (montags) werden die Event-Daten im Sparql-Endpunkt des Event-Projekts aktualisiert und neu ausgerollt.
  • Von dort aus werden die Widget-Sichten auf die Event-Daten aktualisiert:

Betreibergruppe

  • Hans-Gert Gräbe (Maintainer), Andreas Nareike
  • Christof Pieloth (city:cult)

Weitere Interessenten sind herzlich willkommen.

Aktivitäten

  • Regelmäßige Informationen über den Stand des Projekts auf dem Leipzig Open Data Seminar
  • 11.-19.01.2013: Arbeiten im Rahmen der Ideenbörse
  • 20.07.2012: Vorstellung und Diskussion der Arbeiten an einer Präsentationsplattform basierend auf dem Exhibit-Framework durch Johannes Frey

Vom Projektteam entwickelte Lösungen für einzelne Partner

  • API Leipzig Events - wird derzeit vor allem von Kreatives Leipzig genutzt
    • Beispiel-Perl-Skript (getAPIEvents.pl) greift auf die Webschnittstelle zu
  • API Leipzig Rückbindung: Christoph Pieloth hat einen Beispiel-Client in Java geschrieben, der auf die LD.Events Schnittstelle (also den Sparql Endpunkt) eine calendarAPI aufsetzt, welche die API.Leipzig Event-API Spezifikation erfüllt. Damit können parallel Events aus LD.Events und aus API.Leipzig ausgelesen und zu einem Upstream federiert werden. Dieser Upstream wird von city:cult verwendet, um die eigene Android-App mit Daten zu füttern.
    • https://github.com/LeipzigData/JavaExamples/tree/master/src/calendarApi
    • Es sind nicht alle Services implementiert, wer diese jedoch braucht, kann dies schnell per Copy & Paste implementieren. Aktuell funktionieren z.B. die Venue-Details nicht und ohne Veranstaltungsort erscheinen die Events aktuell bei City:Cult auch nicht :( Daran werden wir bei Gelegenheit arbeiten.
  • Mehr als Chillen Grünau
    • Beispiel-Perl-Skript (getMehrAlsChillenEvents.pl) greift auf einen lokal eingespielten Datenbank-Dump zu.
    • Mehr als Chillen hat die Zusammenarbeit inzwischen eingestellt.
  • Netzwerk Energie und Umwelt
    • Beispiel-Perl-Skripte greifen auf ics-Export (neu-ics.pl) sowie RSS-Feed (neu-xml.pl) zu
    • Identifizierung der Events erfolgt über eine MD5-Summe als Wert des Prädikats ld:hasMD5Sum, die über DTSTART, SUMMARY und DESCRIPTION eines von NEU übernommenen ical-Events gebildet wird.

Präsentationsschicht

Die Präsentationsschicht ist unabhängig von der Datenhaltung gestaltbar - über eine Sparql-Anfrage (konzeptionell vergleichbar mit einer SQL-Anfrage an eine lokale Datenbank) werden die relevanten Daten ausgelesen und auf die gewünschte Weise präsentiert.

Als "Proof of Concept" hat Johannes Frey das Javascript-Frameworks Exhibit für eine Widget-Lösung verwendet, mit der sich schnell Webseiten mit Suchmasken und Tagwolken herstellen lassen.

Die zur Präsentation verwendeten Widgets verwenden diese Lösung.

Weitere Projekte ähnlicher Ausrichtung