[Od-nrw] Offenes Köln erblickt das Licht der Welt

Jan Ehrhardt jan.ehrhardt at googlemail.com
Wed Feb 1 21:45:38 UTC 2012


Hi,

Am 1. Februar 2012 13:45 schrieb Marian Steinbach <marian at sendung.de>:

> Am 1. Februar 2012 13:31 schrieb Jan Ehrhardt <jan.ehrhardt at googlemail.com
> >:
> > Hallo,
> >
> > ich bin beeindruckt. Sieht echt klasse aus.
> >
> > Ich habe den Versuch einer übergreifenden API auch weiterverfolgt und
> werde
> > den aktuellen Entwurf hoffentlich bald ins Netz stellen können.
>
> Erzähl doch mal mehr!
>

also ein Paar Worte zum geplanten API Entwurf.

Anders als bei der aktuellen API von offeneskoeln.de setze ich vor allem
auf URLs mit Pfaden und ohne Parameter. Das hat den Vorteil das sich
logische, hierarchische Strukturen in den URLs abbilden lassen. Nachdem ich
mir verschiedene RIS angeschaut habe, ist mit aufgefallen, dass sie alle
eine gewisse Hierarchie in den Daten haben. Ganz oben sind die jeweiligen
Gremien, darunter kommen die konkreten Sitzungen und schließlich die
Drucksachen, die den Sitzungen zugeordnet sind. Für Köln könnte das so
aussehen:

http://offeneskoeln.de/api/gremien/finanzausschuss/2011/05/23/interkulturelle+und+integrationsprojekte/

Identifizieren würde die URL folgendes Dokument
http://offeneskoeln.de/dokumente/AN-1081-2011/.

Darüber hinaus gibt es zum Teil orthogonal zu obiger Hierarchie
verschiedene Kategorisierungen wie Straßen und Stadtteile, übergreifende
Themen und natürlich Zeiträume bzw. Wahlperioden. Man kann dadurch
interessante Abfragen rein Pfadstrukturen realisieren.

Aktuell mache ich mir nur über den lesenden Zugriff Gedanken, aber
schreibender Zugriff soll später folgen, damit man auch Editoren
programmieren kann und Scraper nicht direkt auf die DB zugreifen müssen.
Das impliziert allerdings auch die Themen Authentifizierung und
Autorisierung und daher kommt das später.

Als Standardformat, das bei einem HTTP GET auf die obige URL
zurückgeliefert würde, ist JSON vorgesehen. In dem JSON Dokument sind dann
verschiedene Informationen enthalten, wozu auch Links gehören. Links sind
schließlich neben HTTP ein ganz essentieller Bestandteil des Internets.
Links können dann auf untergeordnete Dokumente verweisen oder eben auch auf
andere Repräsentationen desselben Dokuments. Die API sieht nur die JSON
Repräsentation explizit vor und überlässt dem Implementierer, welche
anderen Formate unterstützt werden.

Bsp:
Ruft man die URL http://offeneskoeln.de/api/gremien/finanzausschuss/ auf,
würde ein JSON Dokument geliefert, das u. a. eine Liste von Links auf
andere Repräsentationen beinhaltet.

- http://offeneskoeln.de/api/gremien/finanzausschuss/termine.ics: Würde
eine iCal Datei aller Termine des Finanzausschuss liefern.
- http://offeneskoeln.de/api/gremien/finanzausschuss/atom.xml: Würde einen
Atom Feed mit allen Sitzungen liefern.
- http://offeneskoeln.de/gremien/finanzausschuss/: Könnte der Link auf die
Webseite des Finanzausschuss auf offeneskoeln.de sein.

Die Links und Formate sind nur Beispiele, wie sowas aussehen könnte, wobei
die API dies explizit offen lassen wird.

Insgesamt ist das Ziel den Inhalt durch Links und eine klare Struktur
crawlbar zu machen. Ausgehend von einer Root-URL wie
http://offeneskoeln.de/api/ sollte es also möglich sein durch das Folgen
von Links den gesamten Datenbestand zu durchlaufen. Das hat den Vorteil,
dass ein Client nicht wirklich etwas über die Struktur des Inhalts wissen
muss.

Soweit so gut. Ich hoffe, das bringt mehr Licht als Dunkel. Die
Schwierigkeit ist im wesentlichen das alles schön aufzuschreiben, aber ich
gebe euch Bescheid sobald es online ist.

Viele Grüße
Jan Ehrhardt


>
> Grüße vom
>
> Marian
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.okfn.org/pipermail/od-nrw/attachments/20120201/8cf4b57c/attachment.html>


More information about the od-nrw mailing list