Hintergrund

Beim MÜNSTERHACK 2019 entstand in einem Projekt-Team die Idee, eine Termin-Plattform für Münster zu bauen. Die Probleme, die gelöst werden sollten, waren:

  • Es gibt in Münster sehr viele Webseiten für Termine
  • Nirgendwo findet man eine zentrale Übersicht
  • Die meisten Anbieter von Veranstaltungsdaten bietet keine offene Schnittstelle zum Abruf der Termine an
  • Bei den vergangenen MÜNSTERHACKs konnten schon mehrere Projekte nicht erfolgreich durchgeführt werden, da sie Münsteraner Veranstaltungsdaten benötigt hätten

Lösungsansatz

Im Team "Münster Info Hub" kam die Idee auf, eine Suchmaschine für Veranstaltungen zu bauen, die die einschlägigen Termin-Webseiten durchsucht, und die Daten aller gefundenen Termine indiziert. Diese Veranstaltungsdaten werden dann in eine Datenbank geschrieben und offen in einem einheitlichen Format maschinenlesbar und kostenfrei für alle Interessenten als "Open Data" zur Verfügung gestellt.

+----------+  +----------+
|          |  |          |                                                                      +------------------+
|    A*    |  |     B*   |  <------+                                                            |                  |
+----------+  +----------+         |                                                            | Anwendungsidee 1 |
                                   |                                                            |                  |
        +----------------+         +   +------------------+       +--------------------+        +------------------+
 +----+ |                |             |                  |       |                    |
 | D* | |       C*       |             |   MÜNSTER.JETZT  |       |  MÜNSTER.JETZT     |        +------------------+
 |    | +----------------+ <---------+ |                  | <---+ |                    | <----+ |                  |
 +----+                                |   Suchmaschine   |       |  Offene Datenbank  |        | Anwendungsidee 2 |
        +---------------+           +  |                  |       |                    |        |                  |
        |               |           |  +------------------+       +--------------------+        +------------------+
        |     E*        | <---------+
        |               |                                                                       +------------------+
        +---------------+                                                                       |                  |
                                                                                                |  .....           |
 *Für Münster relevante                                                                         |                  |
 Veranstaltungs-Webseiten                                                                       +------------------+
    
            

API-Dokumentation

Die Rest-API kann angesprochen werden unter der folgenden Adresse:
https://api.muenster.jetzt/msinfohub-events/_search

Es handelt sich um eine zur Elasticsearch REST-API kompatible API-Schnittstelle.

Datentypen

Eine Beschreibung der zurückgelieferten Werte und der verwendeten Datentypen findet sich unter:
https://api.muenster.jetzt/msinfohub-events

Eine Response hat ungefähr das folgende Format:

    {
      "title", 
      "subtitle", // (optional) 
      "start_date": "2008-03-01T13:00:00Z", 
      "end_date": "2008-03-01T15:00:00Z",  // (optional)
      "description", // (optional)
      "link", 
      "category", // (optional)
      "location_name", 
      "location_address",  // (optional)
      "source", // origin of these data
      "tags": [ // (optional)
          "bla", ...
      ],
      "geo": {
          "lat": "51.956944",
          "lon": "7.005556"
          },
      "images":[
          {
          "image_url",  // (optional)
          "image_text", // (optional)
          "image_copyright"    // (optional)
          }
      ],  // (optional)
    }

Abfragen

Im Folgenden werden ein paar gängige Beispiel-Abfragen gezeigt:

Komplexere Abfragen

Beispiel-Query:
https://api.muenster.jetzt/infohub/_search?_source=source,geo,start_date&size=200&q=start_date:%3Enow

Erklärung der Beispiel-Query:

  • Parameter "q" fragt in diesem Fall nur Events ab, die start_date in der Zukunft haben
  • Wegen "_source"-Parameter werden nur die Felder source, geo, start_date zurückgegeben
  • Durch "size" werden maximal 200 results returnt

Weiterführende Links