Musik
Herald: Ja, herzlich willkommen zum
nächsten Talk in der Wikipaka WG. Hier
zeigen uns Simon und P3nny das Projekt
Datenguide. Viel Spaß!
Simon: Hallo. Ok. Hi zusammen. Ja, wie
gesagt, P3nny und ich, wir möchten über
einen Open Data Projekt sprechen, an dem
wir arbeiten. Das Projekt heißt
Datenguide. Findet ihr unter datengui.de.
Und unsere Mission ist einfach gesagt,
Statistiken zugänglicher zu machen für
alle. Wenn wir über Statistiken reden,
dann reden wir über amtliche Statistik.
Außerdem werden wir gefördert vom MIZ in
Babelsberg von einem Programm, das heißt
Prototype Fund. Das sind ausgezeichnete
Programme. Wenn Ihr Funding Möglichkeiten
sucht für eure Open Source Projekte, kann
ich nur empfehlen, euch das mal genauer
anzugucken. Unser Sourcecode ist frei auf
GitHub unter Datenguide. Und wenn wir
über Statistiken reden, dann meinen wir
amtliche Statistik. Amtliche Statistik ist
einfach gesagt alle Statistiken zu
Gesellschaft, Umwelt und Wirtschaft. Und
das sind Statistiken, die von den
Statistischen Ämtern erstellt werden. Und
das ist, was die Statistiker deskriptive
Statistik nennen. Das heißt, es gibt da
keine Interpretation, keine Prognosen,
sondern es ist einfach nur einfache
Statistik, die beschreibt, wie irgendwas
ist. Paar Beispiele sind z.B. Zahlen über
Schulen. Also Zahlen zu Schülern und
Absolventen nach Schulart für eure Stadt
z.B. Oder Zahlen zur Abfallentsorgung.
Also wie viel Hausmüll gibt es in eurer
Stadt? Wieviel wird recycelt in eurer
Stadt? Und Zahlen zu Migration und
Einbürgerung, z.B.: Wie viele Menschen
werden in eurer Stadt eingebürgert? Wie
alt sind die? Wie alt waren die? Oder seit
wie vielen Jahren sind die in Deutschland?
Das sind jetzt nur drei Beispiele. Der
Datensatz oder der Datenpool, mit dem wir
uns jetzt im Moment auseinandersetzen,
sind die Daten von regionalstatistik.de.
Was das bedeutet, werde ich nachher
nochmal ein bisschen erklären. Und da
reden wir über 450 Datensätze zu allen
möglichen Themen. Das heißt, diese drei
Sachen sind einfach nur Beispiele. Wenn
man sich jetzt so anguckt, was die
Statistischen Ämter sagen über sich
selber, dann sagen die, sie sind objektiv
unabhängig und machen qualitativ
hochwertige Statistik. Da gehe ich auch
mit, ja. Und dann sagen die noch, sie
machen es für Politik, Verwaltung,
Wirtschaft sowie für Bürgerinnen und
Bürger. Und wenn man sich anguckt, wie die
amtliche Statistik im Moment
veröffentlicht wird und an wen die so...
für wen diese aufbereitet wird, dann gehe
ich mit, dass das Ziel Politik und
Verwaltung ist - Wirtschaft vermutlich auch.
Bürgerinnen und Bürger, da gibt es ein
gewisses Defizit und das ist eben das
Thema, das wir uns anschauen. Aber erst
einmal so ein kleiner Exkurs. Ja, erstmal,
wo kommen überhaupt diese Daten her? Und
ihr habt vielleicht vor kurzem diese
Geschichte gehört: Das ist die Geschichte
einer Volkszählung. Ja, also vor ungefähr
2000 Jahren hat sich Kaiser Augustus,
Herrscher des Römischen Reiches, überlegt,
dass er bessere Daten braucht über die
Bürger in seinem Reich. Also hat er ein
Zensus angeordnet. Und im Rahmen von
diesem Zensus sollte jeder Bewohner des
Römischen Reichs zu seiner Heimatstadt
reisen und sich dort zählen lassen. Und in
dem Prozess wurde ein kleines Kind
geboren. Aber am Ende ist es immer noch
die Geschichte von einer Volkszählung und
... zum Zwecke der Steuererhebung, genau.
Also die Römer hatten relativ großen
militärischen Komplex, den sie finanzieren
mussten und deshalb mussten sie wissen,
wo, wie viele Menschen leben, damit sie
wissen, wie viele Steuern sie erheben
können. Und genauso ist es bis heute.
Überall, wo es einen Staat gibt oder eine
Verwaltung, braucht die Information
darüber, wie viele Menschen irgendwo
leben, wie viele Kinder zur Schule gehen,
wie viele Kinder vielleicht demnächst zur
Schule gehen. Und deswegen wird relativ
viel Aufwand betrieben, Daten zu erfassen
über uns all. In eigentlich allen
Industrienationen, sag ich mal, haben wir
sowas wie ein 10jährigen Zensus. Und das
ist eigentlich so ähnlich wie die
Geschichte von Kaiser Augustus vorher. Das
heißt, alle zehn Jahre werden in
irgendeiner Form alle Menschen gezählt,
die in einem Land leben. Heute reisen wir
nicht mehr an unseren Geburtsort, sondern
es gibt Leute, die normalerweise von Tür
zu Tür gehen, bei euch klingeln und euch
dann Fragen stellen. In Deutschland ist
das ein bisschen anders. Hier gab es einen
letzten Zensus 2011 und davor gab's eine
Weile keinen Zensus. Hat mit unserer
Geschichte zu tun und auch mit Protesten,
die es gab, in der Vergangenheit. Aber es
gibt auch verschiedene andere
Möglichkeiten, wie eigentlich immer Daten
erfasst wurden. Außer der richtigen
Volkszählung, also dem Makrozensus, gibt's
einen Mikrozensus. Und beim Mikrozensus
wird eben einfach eine Stichprobe
genommen. Das heißt, eine Handvoll Leute
wird genauer betrachtet und davon
ausgehend wird dann irgendwas
hochgerechnet. Und außerdem gibt es etwas,
was die Statistiker Sekundärstatistik
nennen. Das heißt, Daten, die irgendwo an
anderer Stelle erfasst werden, werden
verarbeitet. Für die Statistik, also in
Deutschland werden irgendwelche Zahlen,
z.B. über Landwirthschaft, erfasst, bei
irgendwelchen Landwirtschaftsämtern. Und
diese Zahlen werden dann an die
statistischen Ämter weitergegeben und dort
werden dann eben Statistiken draus
gemacht, die dann auch von den
Statistischen Ämtern veröffentlicht
werden. Außerdem gibt's bei uns und vielen
anderen, ich sag mal so europäischen und
nordischen Ländern gibt's einen
Registerzensus. Und das heißt, die Zahlen,
die es über euch schon gibt, z.B. im
Bevölkerungsregister - weil ihr habt euch
ja alle ordentlich angemeldet - die
Zahlen, die werden dann wiederum verwendet
und an die statistischen Ämter
weitergegeben. Ja, ihr könnt euch ja
vorstellen, das sind relativ viele Daten.
Das sind persönliche Daten über uns alle
und deswegen wird in Deutschland das
Statistikgeheimnis sehr hochgehalten. Also
das ist tatsächlich ein Begriff aus der
amtlichen Statistik. Das bedeutet, dass
Sie sich extrem viel Mühe geben, Daten zu
anonymisieren, die werden in der... also
Zahlen, die in einem Rahmen vom Zensus
erfasst werden, werden normalerweise schon
anonymisiert, wenn sie erhoben werden. Das
heißt, da steht nie irgendwie euer Name
drauf. Und es werden nur aggregierte
Zahlen veröffentlicht. Das heißt, in
diesen Datensätzen, von denen wir reden,
da steht normalerweise drin, wie viel es
von irgendetwas gibt und nicht, was genau
es gibt. Das ist auch ein wichtiger Punkt.
Außerdem dürfen Menschen und Unternehmen
nicht nachträglich identifizierbar sein.
Und das ist so ein bisschen kontroverses
Thema. Und da wird auch nächstes Jahr ein
bisschen was passieren. Weil gerade für
Journalistinnen und Journalisten ist es
halt auch wichtig, Daten über Unternehmen
zu kriegen. Und unsere Hauptzielgruppe im
Moment ist Journalismus. Und die erste
Frage, die uns Leute stellen, ist
normalerweise: Ja, kann ich jetzt hier
Bayer in meiner Stadt genauer
identifizieren und sehen, was sie machen?
Und die Antwort ist nein. Also wenn es
irgendwo in einer Stadt zum Beispiel nur
einen Landwirtschaftsbetrieb gibt, dann
werdet ihr über diese Stadt keine Zahlen
zur Landwirtschaft kriegen, weil
Statistikgeheimnis. Das ist auch ein
wichtiger Aspekt, spielt aber bei vielen
Zahlen auch keine Rolle, die tatsächlich
da drin sind. Ja, jetzt habe ich gerade
schon gesagt: Volkszählung ist ein
kontroverses Thema. Und amtliche Statistik
insgesamt auch, so gesehen. Wenn ihr, wie
ich, noch irgendwie die 80er mitgekriegt
habt, dann könnt ihr euch vielleicht an
solche Graffitis erinnern, weil in den
80ern gab es tatsächlich einen massiven
Protest und 81 wurde der Zensus verhindert
in der BRD und 87 hat er dann nur sehr
eingeschränkt stattgefunden. Und die
Proteste und die Verfassungsklagen, die es
damals gab, die sind auch quasi in
wichtiger... oder eigentlich die Wurzel
auch dieser Idee der informationellen
Selbstbestimmung, die wir heute haben.
Also quasi diese Idee von Datenschutz, mit
der wir hier rumlaufen und sagen, dass wir
selber die Kontrolle über unsere
persönlichen Daten haben, die sind konkret
darauf zurückzuführen. Deswegen ist es auf
jeden Fall auch eine wichtige Diskussion.
Für unser Projekt spielt das keine Rolle.
Wir sehen es so: Die Daten sind jetzt da
und die wurden von euch erfasst mit euren
Steuergeldern. Und es ist wichtig, dass
ihr Zugriff auf diese Daten habt. Und
deswegen machen wir dieses Projekt. Wenn
ihr jetzt mit diesen Zahlen arbeiten
wollt, dann gibt's eine gute und eine
schlechte Nachricht. Die gute Nachricht
ist: Das ist freies Wissen. Also Open
Data. Es gibt die Daten-Lizenz
Deutschland, unter der diese Daten
veröffentlicht werden, die erfordert, wenn
ihr die Daten quasi verwendet und
wiederveröffentlicht, dass ihr die Quelle
nennt, dass in diesem Fall normalerweise
die Statistischen Ämter, dass ihr ein
Verweis auf die Lizenz macht und ein
Verweis auf den Datensatz - also
normalerweise die URL angebt, von wo ihr
das heruntergeladen habt. Das - also wenn
ihr euch ein bisschen mit offenen Lizenzen
befasst - das ist so ähnlich wie eine
Creative Commons CC-BY Lizenz. Das heißt,
je nach Anwendungsfall ist es ein bisschen
problematisch. Also ich habe gestern
gelernt, dass man die Daten z.B. nicht in
Wikidata einspeisen kann, weil es keine
CC0 Lizenz ist. Und für viele Anwendungen
mit Daten wäre natürlich eine CC0 Lizenz
besser. Aber das ist nicht der Punkt, wo
wir ansetzen können. Also wir gucken, dass
die Daten möglichst einfach verwendbar
sind. Und ihr müsst dann eben beachten,
dass sie unter der Datenlizenz Deutschland
veröffentlicht werden und die
dementsprechend angeben. Ja, jetzt gibt es
aber auch eine schlechte Nachricht und die
ist, dass mit diesen Daten zu arbeiten gar
nicht so einfach ist. Und da übergebe ich
jetzt an P3nny.
P3nny: Ich darf aus dem Leidensdruck des
Journalisten berichten. Also es ist nicht
so, dass es komplettes Neuland wäre, dass
es keine offenen Datenportale gäbe. Es
gibt relativ viele davon. Sie sind alle
schön und schön unterschiedlich, alle
lustig aufgebaut. Zur Übersicht: Es gibt
das Statistische Bundesamt, dann gibt es
Destatis, es gibt 14 statistische
Landesämter und da drunter Derby Dragons.
Also es gibt noch Kommunalstatistik,
städtisch statistische Ämter und alle
haben irgendwie ihre eigenen kleinen Dinge
- und da durchzusteigen ist auch immer
spannend, weil sie meistens quasi diese
Verwaltungsakte abbilden. Dann gibt's so
einzelne Anwendungen, wo Dinge ganz
besonders gut aufbereitet werden. Aber oft
ist es so, hier Zensus 2011 ist für
Journalisten meistens schon nicht mehr so
richtig spannend, weil ist ja schon lang
vorbei. Oder es gibt solche schönen
Beispiele, wo sich Menschen in PDFs
austoben und wundervolle Torten, Grafiken
und 3D Diagramme bauen, ich aber mit den
Daten wenig anfangen kann. Also wenn ich
als Journalistin jetzt sagen würde, die
sozialversicherungspflichtig
Beschäftigten, das möchte ich in meiner
Veröffentlichung zitieren und möchte
einfach nur auf meiner Internetseite
dieses Diagramm auch mit zeigen, dann muss
ich ja da hinschreiben, muss die richtige
Stelle finden, die dieses PDF erstellt hat
und muss die darum bitten, mir die Daten
zu schicken. Und es ist schon passiert,
dass sie mir die dann quasi in der
E-Mail... also quasi im E-Mail Text habe
ich dann Daten bekommen - auch nicht so
richtig das Format, mit dem wir was
anfangen können. Unser Lieblingsportal hat
Simon vorhin schon gesagt, das ist
regionalstatistik.de. Das gibt es. Da
finden sich auch tatsächlich auf der
regionalen Ebene - also Bundesländer und
drunter, Regierungsbezirke,
Gemeindebezirke - finden sich die Daten
und die dann auch flächendeckend für ganz
Deutschland oder für ein ganzes
Bundesland. Wenn ich da aber dran kommen
möchte, dann habe ich Schritt 1: Ich gucke
mir den Datenkatalog an. Ich gucke, was da
drin ist. Suche mich irgendwie da durch.
Muss halt deren Logik verstehen, wie sie
das mal angelegt haben. Finde dann
irgendwelche Tabellen meistens - auch so:
Was unterscheidet jetzt die regionale
tiefe Kreise von den regionalen Ebenen,
und so. Das ist viel, was ich verstehen
muss. Dann gibt's noch so eine Variablen-
Auswahl. Dann muss ich das genauer
spezifizieren. Dann kann ich endlich diese
Tabelle abrufen und kriege dann den
Hinweis: Diese können Sie jetzt nicht
abrufen. Sie wollen zu viele Daten
abrufen. Sie müssen sich erst mal Konto
erstellen. Dann erstelle ich mir dieses
Konto. Dann mache ich diesen Werteabruf,
dann warte ich und irgendwann landet eine
Tabelle in meinem Postfach und ich bekomme
eine Tabelle, die sehr gut dafür geeignet
ist, in A4 ausgedruckt zu werden. Das
heißt, sie hat, das ist mit das
Allerschlimmste, sie hat diese komischen
Header, also so verschachtelte Dinger, wo
ich dann quasi, wenn ich als Journalistin
- also entweder fange ich als Journalistin
an und versuche, das irgendwie in Excel
dann zu bereinigen und so und auch die
Journalisten merken langsam, dass das
nicht der beste Weg ist, alle drei Monate
bei - was weiß ich, Quartals Statistiken -
das immer wieder in Excel machen zu
müssen. Das heißt, ich als Journalistin
geh hin, mache eine Python für Dummies
Kurs oder sowas und möchte dann mal was
mit offenen Daten machen. Treffe dann auf
diese Daten, lade mir die runter als CSV-
Datei und dann kriege ich schon den ersten
Error, weil das sind keine CSV Dateien,
sondern Semikolon separierte Werte, weil
Deutsch. Wir haben also einen 1000er
Trennzeichen, das ein Komma ist. Wenn ich
dieses Problem gelöst habe, laufe ich
gegen die... Also ist das keine UTF 8
sondern eine ISO88591 Kodierung. Das
heißt, erstmal sind alle Ös und Äs kaputt.
Dann muss ich noch das Problem mit dem
Header lösen. Das heißt, meistens muss ich
den Header ganz rausschmeißen und einmal
die Zeilen irgendwie selber benennen, was
auch eine Fehlerquelle ist. Und dann, wenn
ich jetzt, sagen wir mal, die unter 3
Betreuungskinder auf eine Karte mappen
wollte, dass ich so eine Karte habe, dass
da wo die meisten u3 betreut sind -
eigentlich will ich ja wahrscheinlich auch
den Anteil an der Bevölkerung haben,
Bevölkerung gesamt ist da nicht drin, die
muss ich mir dann von woanders her holen,
männlich-weiblich zusammenrechnen, den
Anteil ausrechnen - es ist ein relativ
aufwandreicher Prozess, den ich da machen
muss. Ach so genau. Und hier sind auch
tatsächlich nicht nur die Gemeindeebenen
drin, sondern meistens auch das Bundesland
und die darüber liegenden Ebenen, d.h. die
muss ich auch erstmal wieder
rausschmeißen, damit ich nur meine
Gemeinden habe und die dann auf die Karte
bringen kann. Und manchmal sagen die auch:
Wir nehmen euch Arbeit ab und machen
selber Visualisierungen. Da kommen dann
manchmal solche Dinge bei raus. Wir haben
noch nicht ganz rausgekriegt, was uns das
sagen soll. Also das funktioniert noch
nicht so richtig gut. Und da kommt der
Datenguide ins Spiel und löst dieses Problem.
Simon: Genau. Was wir machen, ist: Wir
lösen dieses Problem für euch. Also dieses
Problem, dass Patricia jetzt beschrieben
hat, hoffentlich, perspektivisch. Was wir
machen, ist, wir importieren quasi alle
Daten und alle Daten, die jetzt in diesem
Fall in dem regionalstatistik.de Portal
sind. Und dann bieten wir sie über eine
moderne JSON-API an und bauen dann quasi
ein - ich sag mal ein alternatives Daten
Portal. Das ist eine Website, die bauen
wir dann quasi on top auf diese Daten-
Schnittstelle und diese Plattform, die sieht
ungefähr so aus. Ich kann euch das auch
live zeigen. Ich habe das jetzt nur glaube
ich nicht offen und wir sind noch nicht
online. Es ist alles so ein bisschen frühe
Alpha. Wir sind so ein bisschen online,
aber mit kryptischer URL in so einem
Preview irgendwo. Muss ich mir grad mal
angucken.
P3nny: Ich schwöre, hier war ein Bug
irgendwo. Hier lief ein Bug rum und jetzt
ist er weg. Wahrscheinlich ist er jetzt
bei dir.
Simon: Okay, also das ist, wie unser
Prototyp im Moment aussieht. Es ist
einfach eine Website, da werden ein paar
Orte gefeatured, wo irgendwas interessant
ist. Ansonsten haben wir hier eine Suche,
wo ihr den Namen eurer Stadt oder eures
Landkreises eingeben könnt. Also für diese
Oberfläche arbeiten wir im Moment mit
Städten und Landkreisen, mit so ungefähr
400 Entitäten oder so in Deutschland und
in dem Datensatz sind auch Gemeinden drin.
Aber dann reden wir gleich über, ich
glaube, 15 000 oder so. Und im Moment
machen wir es uns einfach und gucken uns
einfach Städte und Landkreise an. Also
wenn wir hier einen Ort suchen, zum
Beispiel Leipzig. Ja, genau, dann sehen
wir erst einmal: Es gibt Leipzig Stadt und
Leipzig Landkreis, also quasi der
Landkreis drumrum. Wir gucken uns mal die
Stadt Leipzig an und dann sehen wir hier
Leipzig. Und dann haben wir hier so ein
bisschen generischen Text. Den importieren
wir im Moment von Wikipedia, wollen wir
aber perspektivisch selber generieren, auf
Basis der Daten, die da drin sind. Und
dann sehen wir hier so ein paar
Datensätze, die wir schon, die wir jetzt
mal so, ich sag mal prototypisch
aufbereitet haben. Die sind hier...
Leipzig hat irgendetwas um die 500 000
Einwohner 2017, 300 Quadratkilometer
Fläche. Dann haben wir hier eine einfache
Visualisierung, wo wir Leipzig mal mit
München vergleichen. Hier sehen wir, das
Münchner deutlich höhere
Bevölkerungsdichte hat als Leipzig. Und
dann können wir hier so ein paar Sachen
machen. Wir können uns hier die Zahlen zu
diesem Datensatz angucken und dann sehen
wir schon, das ist eine sehr einfache
Tabelle, die hat einfach nur ein paar
Spalten. Jede Spalte hat eine klare
Beschriftung und das ist halt was, das
können wir einfach als CSV runterladen und
in beliebigen Programmen weiterverwenden.
Und gleichzeitig haben wir hier auch eine
GraphQL-Query. Das ist quasi eine Daten...
ich sage mal eine API Abfrage. Also mit
GraphQL, also mit so einer
Datenschnittstelle kann man einfache
einfache Queries schreiben. Man kann sich
das so vorstellen, dass man da eine leere
JSON Datei hinschickt, die beschreibt,
welche Daten ihr wollt. In der sind nur
die Keys drin und dann kriegt ihr eine
JSON Datei zurück, da sind zu den Keys
auch die Values drin. Das heißt, es ist
eine sehr einfache Art und Weise, zu
spezifizieren, welche Daten ihr sehen
wollt. Deswegen experimentieren wir im
Moment mit GraphQL. Es ist auch so ein
bisschen alles im Fluss. Also wir haben
schon quasi die Version... also hier sieht
man die Version 1 unserer Schnittstelle.
Wir arbeiten im Moment an einer zweiten
Version, weil wir halt festgestellt haben,
dass verschiedene Dinge dann doch nicht so
funktionieren, wie wir uns das vorstellen.
Aber API Design ist auch nicht einfach.
Hier gibt's dann eben die Möglichkeit, das
CSV runterzuladen oder in so einem
interaktiven Tool dieses GraphQL zu
testen, um quasi... naja, also wenn ihr
seht: Ah, das ist ja schön, aber ich will
Leipzig nicht mit München, sondern mit dem
Bundesland Sachsen vergleichen. Dann könnt
ihr hier quasi unseren Query Builder
benutzen und euch selber was bauen und
direkt das Ergebnis sehen. Darauf gehe ich
gleich noch ein bisschen ein. Hier sehen
wir noch so ein paar andere Beispiele.
Da haben wir einfach mal experimentiert
mit Daten. Hier haben wir noch die
Bevölkerungsverteilung nach Altersgruppen.
Und die Ergebnisse der letzten Europawahl
Das sind auch so ein paar Beispiele. Sieht
man, was da an Daten drinsteckt. Ja. Also
wie gesagt, das ist einfach nur ein
Prototyp im Moment. Da kann man eben
sehen, wie das grundsätzlich aussehen
kann. Wir sehen hier, dass... wir haben
hier so eine Übersicht über alle Städte
und Landkreise in Deutschland, sortiert
nach Bundesland. Und wenn ich jetzt hier
irgendetwas Beliebiges herausgreife -
Deggendorf in Bayern - dann sehen wir,
dass wir ja, hier ist quasi das Gleiche.
Genauso für Deggendorf. Das ist im Moment,
was wir machen. Und das ist so ein
Komplex, an dem wir arbeiten, der quasi
auf der einen Seite zeigen soll, was es an
Daten da drin gibt, euch einfache Tools
geben soll, diese Daten runterzuladen,
ohne dass ihr euch mit GraphQL
auseinandersetzen müsst. Auf der anderen
Seite soll es auch die Möglichkeit sein,
eben den Start zu finden in unsere
Datenschnittstelle und...
P3nny: Perspektivisch würden wir uns da
schon auch noch vorstellen, dass nicht
überall bei allem das Gleiche angezeigt
wird, sondern wir können ja dann auch eine
gewisse Logik dran machen. Also zeig mir
die Stadt.... also ich habe die
Gesamtstatistik über Leipzig und ich zeige
mir die drei Statistiken, wo Leipzig
entweder in den Top5 oder in den Low 5 ist im
Vergleich zum Bundesland, im Vergleich zum
Bundesschnitt oder so.. Ne, um halt
quasi so für die Journalisten zu sagen:
Das sind die spannenden Dinge. Und
gleichzeitig aber auch den Eisberg
darunter: Also das sind alle Daten, weil
ich jetzt eine bestimmte Frage habe,
irgendwie anzubieten.
Simon: Okay. Ja, jetzt hab ich ja gesagt,
wir haben diese Datenschnittstelle. Und
ich hab euch auch diese Website gezeigt,
die wir aus der Datenschnittstelle
speisen. Aber diese Datenschnittstelle,
die ist nicht nur Mittel zum Zweck, um
diese Website zu bauen, sondern unsere
Idee ist eigentlich, dass diese Website,
die wir haben, dieses Daten-Portal, dass
das quasi ein Anwendungsfall ist für diese
Schnittstelle, um zu zeigen, was man damit
machen kann. Aber wir möchten eigentlich,
dass ihr diese Schnittstelle verwendet für
andere Dinge. Auf Basis von dieser
GraphQL-Schnittstelle sollte man zum
Beispiel möglichst… relativ einfach eine
Python-Bibliothek schreiben können, z.B.
damit ihr in euren Datenauswertungen mit
Python direkt auf amtliche Statistikdaten
zugreifen könnt. Oder ein R-Package, damit
Leute, die quasi statistisch mit R
arbeiten, vielleicht an einer Hochschule
oder Journalisten, dass die quasi auf
diese Daten direkt in R zugreifen können,
ohne dass sie sich jedesmal durch dieses
Datenportal klicken müssen und sich eine
CSV-Datei runterladen, die sie dann erst
einmal aufräumen müssen. Und man kann sich
da alles mögliche überlegen, denke ich,
auf Basis dieser API. Wir haben auch
gestern schon über Twitter Bots gesprochen
und alle möglichen anderen lustigen Dinge.
Und ich würde euch einfach einladen, damit
ein bisschen zu experimentieren. Ich zeige
euch jetzt mal ein bisschen, wie so ein
Query funktioniert, weil es tatsächlich
relativ einfach, es ist zumindest relativ
einfach, mal eine einfache Query zu
schreiben. Hier sehen wir so ein Beispiel
für eine Abfrage. Ich werde es jetzt
gleich mal replizieren. Ich muss mir nur
hier nochmal angucken, wie das aussieht.
Also, wir haben hier diese Schnittstelle
oder diese, ich sage mal diese grafische
Oberfläche für unsere Datenschnittstelle.
GraphQL funktioniert normalerweise so,
wenn man irgendwo ein GraphQL Server
betreibt, dann kommt automatisch so ein
graphisches Interface mit, damit man
Queries einfacher ausprobieren kann. Das
ist quasi ein Debugging-Tool, wenn ihr so
wollt oder ein Werkzeug, um euch ein
bisschen mit eurer API zu befassen. Und
das ist normalerweise direkt eingebaut in
so ne Schnittstelle. Und bei uns ist das
auch der Fall und ich habe das hier jetzt
schon mal ausgefüllt. Sehen wir, wenn wir
so eine einfache Query machen, dann fragen
wir erst einmal nach Regions. Also Regions
sind quasi alle Regionen, die wir in
Deutschland haben. Wenn ich jetzt hier auf
Play drücke, also wenn ich hier mal Name
reinschreibe und hier auf Play drücke,
dann dauert es sehr lange, weil er dann
irgendwie durch unsere Datenbank geht und
für 15 000 Entities oder so den Namen
raussucht. Deswegen werde ich das jetzt
erst einmal nicht machen. Ich werde das
erstmal ein bisschen einschränken. Und
jetzt gibt's hier schon eine interessante
Sache. Und zwar steht hier, stehen zwei
Dinge: "parent" und "nuts". Und "nuts" ist
eine interessante Sache. Das ist ja ein
Standard für eindeutige... ein Standard
dafür, regionale Einheiten zu beschreiben.
Das heißt, wenn man in der EU verschiedene
Städte miteinander vergleichen will, dann
gibt's halt so einige Begriffe wie
Großstadt, Landkreis. Ne, keine Ahnung.
In Frankreich gibt es keine Landkreise.
Aber wenn man Dinge miteinander
vergleichen will, dann gibt es dafür eben
einen Standard. Und da gibt's den NUTS-
Standard und da gibt's verschiedene NUTS-
Levels. Und wenn wir jetzt alle größeren
Städte und Landkreise sehen wollen, dann
ist es z.B. der NUTS-Level 3 in
Deutschland. Ich schreib hier "nuts: 3"
und drücke auf Start. Und dann sehen wir,
wir kriegen hier irgendwie alle Städte und
Landkreise in Deutschland. Ja, Starnberg,
schön, Ravensburg, Biberach. Also man
sieht, die sind auch irgendwie so ein
bisschen sortiert da drin. Wenn ich jetzt
quasi nur alle Städte und Landkreise in
einem Bundesland sehen will, dann kann ich
das auch weiter spezifizieren. Und zwar
kann ich immer eine höhere Einheit
spezifizieren in dieser API. Und das heißt
"parent" in der API. Das heißt, ich will
alles unterhalb von einem Parent. Und ich
zeige es jetzt mal anhand vom Saarland.
Saarland ist mein Lieblings-Bundesland,
wenn man mit so statistischen Daten
arbeitet. Saarland ist immer schön
übersichtlich. Gab's nicht so viele
Gemeindereformen, gibt auch nicht so viele
Landkreise. Es ist super, ja, 1a
Bundesland. So und jetzt sehen wir hier
quasi eine Einschränkung: Das sind alle
Städte und Landkreise im Saarland. Und
jetzt können wir uns mal noch so ein
bisschen andere Dinge angucken. Jetzt gebe
ich mal hier... wir haben eine ID für jede
Einheit und die ID, das sehen wir, die
fängt auch immer mit 10 an, genau wie das
Bundesland. Das ist keine ID, die wir uns
überlegt haben, sondern das ist der
sogenannte Gemeindeschlüssel, den wir in
Deutschland haben. Es ist quasi ein
eindeutiger Bezeichner für jede Stadt,
jede Gemeinde, jeden Landkreis. Die haben
alle solche Nummern. Und anhand von diesen
kann man hier sehr gut arbeiten. Also ich
könnte jetzt auch eine Region anhand von
Ihrer ID raussuchen. Mache ich jetzt
erstmal nicht. Können wir nachher noch
machen. Ich will jetzt auch ein paar
statistische Daten sehen. Und dann habe
ich hier in diesem Beispiel, sieht man
hier: Das wird dann ein bisschen
kryptisch. Und da verwenden... haben wir
uns auch nicht selber etwas ausgedacht.
Das heißt, wir haben versucht, uns das
selber auszudenken in der ersten Version
von unserer API und haben dann eben
festgestellt, dass es sehr viel erstens
redaktioneller Aufwand ist und es geht
dann auch irgendwann ganz schnell kaputt,
weil wir uns vielleicht auch nicht so gut
auskennen wie die Leute, die die amtliche
Statistik machen. Weil, naja, wenn es
einfach wäre, dann hätte man, hätten die
es auch einfacher gemacht wahrscheinlich.
Und deswegen verwenden jetzt in der
aktuellen Version von unserer API, an der
wir jetzt arbeiten, quasi direkt die
Identifier, die auch die Statistischen
Ämter verwenden. Dadurch wird es
einfacher, diese Sachen nachzuvollziehen.
Und auch wenn ihr quasi einen
tatsächlichen Datensatz habt, irgendwie in
regionalstatistik.de, den dann hinterher
bei uns rauszusuchen. Das heißt aber auch,
Ihr müsst irgendwie wissen, wofür diese
Codes stehen. Und hier gibt's eine super
Vorschlagsuche, quasi. Wenn ich hier
anfange, irgendetwas zu tippen, dann sehe
ich hier verschiedene Vorschläge und hier
unten sehe ich dann auch eine Erklärung,
was das ist. Das heißt, wir haben uns
schon ein bisschen Mühe gegeben, dass man
sich das so ein bisschen erschließen kann,
was da drin ist. Und ich glaube, das war
jetzt BEVMK, das sind von Scheidungen
betroffene Kinder. Und wenn ich jetzt hier
draufklicke, dann kriege ich hier auch so
eine Doku. Das ist jetzt bei diesem
Datensatz sehr einfach. Da sehen wir
einfach, aus welcher Statistik der kommt.
Das ist die "Statistik rechtskräftiger
Urteile in Ehesachen", Nummer 12631. Das
heißt, anhand davon könnt ihr die
wahrscheinlich dann auch in
regionalstatistik.de raussuchen. Oder wenn
ihr beim Statistischen Bundesamt anrufen
müsst, dann wissen die auch, worum es
geht. Aber wir wollen ja eigentlich, dass
ihr da nicht anrufen müsst. Deswegen geben
wir die jetzt einfach mal so aus. Sehen
wir, das ist hier rot markiert. Und dann
sagt er: Ich hab irgendwas vergessen. Wie
hieß es? Drei. Und jetzt sehen wir, das
ist immer noch rot. Dann sagt er: Das muss
eine Unterauswahl haben. Also mache ich
mal eine Unterauswahl. Und wir sehen schon
hier auf der von euch aus gesehen linken
Seite, dass... von euch aus gesehen
rechten Seite... ist die gleiche Seite wie
bei mir auch am Bildschirm, eigentlich
easy. Auf der rechten Seite seht ihr, was
man da so machen kann und da sehen wir,
wir können Jahr und einen Wert abrufen und
auch die Quelle. Ich mache das jetzt
einfach mal, geb hier mal Value ein. Drück
auf Play und dann sehen wir, wir kriegen
hier irgendwie so eine Liste, da sind
Werte drin. Irgendwie für jede einzelne
Stadt, jeden einzelnen Landkreis. Da macht
es noch nicht so viel Sinn, weil das sind
halt Werte für ein Jahr. Deswegen geben
wir uns zusätzlich noch das Jahr aus und
dann sehen wir hier quasi einen Datensatz
für jedes Jahr. Den könnte man jetzt
wahrscheinlich auch noch so ein bisschen
sortieren und so... Das sind alles jetzt
nur so API Design Sachen, an denen wir
arbeiten. Aber grundsätzlich seht ihr, wie
das funktioniert. Und genauso könnt ihr
eben anhand von diesem Schlüssel, den wir
hier haben, auch Daten für einen
einzelnen, für eine einzelne Stadt
abrufen. Das heißt, das hier ist mehr so
eine Bulkabfrage, wo wir quasi sehr viele
Daten kriegen über alle Städte und
Landkreise in einem Bundesland. Aber wir
können jetzt auch sehr detailliert nach
einem einzelnen Wert fragen. Zum Beispiel
kann ich hier jetzt das Ganze für
Saarbrücken machen. Also wir sehen,
Saarbrücken hat die ID 10041 und dann kann
ich hier eingeben: ID. Whoa. Also ist alles
auch noch ein bisschen Alpha, ne... 10041
und wir geben jetzt einfach mal
spaßeshalber die gleichen Werte aus. Und
dann sehen wir, wir kriegen jetzt eine
Antwort, quasi eine JSON Datei und die
enthält jetzt nur die Werte für
Saarbrücken. Und wenn wir jetzt ein
genaues Jahr wollen, sagen wir, wir
wollen 2014, dann kann ich das hier auch
weiter nach dem Jahr filtern. Ja, und
jetzt kriegen wir einfach nur den Wert
zurück für 2014. Und so kann man eben
beliebige andere Statistiken auch
abfragen. Es ist sehr einfach für
Datensätze, die sehr einfach sind, so wie
der. Es gibt in der Praxis auch sta– äh,
statistische Datensätze, die sind
irgendwie hoch verschachtelt. Wir haben ja
vorhin auch so eine Tabelle gesehen, wo
sie dann versucht haben, diese Tabelle
quasi, also diese verschachtelten Daten
irgendwie zweidimensional in einer Tabelle
darzustellen. Und dann kommt irgendwas
raus, was man nicht mehr... also was man
nicht mehr mit einem Computer verarbeiten
kann, sondern nur noch auf A4 ausdrucken.
Und für diese komplexeren Sachen muss man
sich das dann ein bisschen genauer
angucken, wie die Dinge halt ineinander
verschachtelt sind. Aber grundsätzlich
sollte man das alles irgendwie hier aus
der API rauskriegen. Also wenn wir hier
diese BEVMK-Sache suchen. Also ich habe
gerade gesehen, da sind jetzt nicht so
viele Dinge drin, aber wenn wir uns
irgendwas anderes raussuchen, dann sehen
wir, hier gibt's z.B. nen komplexeren
Datensatz. Da kann man jetzt noch
irgendwelche Auswahl treffen. Nur
Kinder, die im Januar geboren wurden oder
nur Kinder, die im Februar geboren wurden
und so.. Ja, also ich denke, ihr versteht,
worum es geht. Wir haben jetzt ein
bisschen Zeit. Ich würde das jetzt hier
für Fragen öffnen und wenn ihr ganz
konkrete Fragen habt oder Ideen habt
dafür, was man damit machen kann - oder
wenn ihr vielleicht Interesse habt, an so
einem Open-Source-Projekt mitzuarbeiten,
dann können wir ja gerne nachher ein
bisschen quatschen. Also da gibt's viele
Dinge, die man machen kann oder die wir
für das nächste Jahr geplant haben. Also
wir haben einen fröhlichen Haufen Python-
und JavaScript-Code und wir haben auch
redaktionelle Aufgaben. Also ich sag mal
so, Fragestellungen, wo man sich mal so
ein bisschen Statistik angucken kann oder
so ein bisschen mit uns überlegen, wie man
jetzt irgendwas besonders gut darstellen
kann oder wie man irgendwas besonders gut
erklären kann - das ist dann eher
Patricias Thema und wir haben für nächstes
Jahr geplant, dass wir einen größeren
Hackathon organisieren. Vermutlich in
Berlin und vermutlich irgendwann noch vor
der Europawahl, eventuell auch mit einem
Schwerpunkt auf Daten aus der Europawahl.
Weil hier drin sind eben auch sehr viele
historische Wahlergebnisse und auch so
Sachen wie Wahlbeteiligung. Und die sind
schon aufgelöst nach Gemeinden und
Städten, d.h. da kann man sehr
interessante Dinge damit machen, weil man
die eben dann sehr gut.... keine Ahnung,
Arbeitsmarktstatistik mit Wahlergebnissen
oder so vergleichen kann. Das macht
vielleicht nicht so wahnsinnig viel Sinn,
aber da kann man sich sicher sinnigere
Dinge überlegen. Ihr findet uns auf
Twitter und auf GitHub unter @datenguide
und ihr findet die Slides für diesen
Vortrag unter dieser URL:
downloads.datengui.de/35c3. Ich werde es
nachher nochmal irgendwie vertwittern oder
sonstwie posten und ansonsten -
Fragen von euch!
Applaus
Q: Ja, hört man mich? Vielen Dank erst
einmal für den Vortrag. Ich habe gesehen,
das ist eine Python-Flask-App, wenn ich
richtig gesehen habe. Also erst einmal
Gratulation dafür - eine sehr gute Wahl!
Mich würde noch interessieren, man hat ja
einige Daten gesehen, einige
Beispieldaten. Wir hatten z.B. das Jahr,
das war aber ein String. Verarbeitet ihr
die Sachen irgendwie noch weiter oder ist
das einfach nur dadurch, dass es aus einer
CSV kommt, erst einmal als String einfach
reingepastet?
Simon: Ja, also es ist so durch ein paar
Iterationen gegangen und das, was wir
jetzt gesehen haben, das wird tatsächlich
automatisch generiert auf Basis von den
Daten, die da rauskommen. Und ja, es ist
im Moment noch so ein bisschen
inkonsistent. Also man hat auch, wenn man
noch genauer aufgepasst hat, gesehen, dass
dieser NUTS-Level z.B. war ein Integer,
aber andere Sachen sind halt Zahlen. Ob
jetzt ein Jahr eine Zahl ist oder ein
String... Ja, ich denke, wir sind dabei,
das noch auszuknobeln. Wir haben jetzt im
Moment den Ansatz gewählt, möglichst wenig
der Daten irgendwie weiter zu verarbeiten
und das möglichst direkt abzubilden in
einer API, was auch zur Folge hat, dass im
Moment komplexere Queries auch teilweise
sehr umständlich zu schreiben sind. Und
das ist einfach ein Thema, an dem wir im
Moment noch arbeiten. Wir... was man noch
dazu sagen kann: Wenn jemand von euch sich
schon intensiver mit dem Thema
auseinandergesetzt hat, es gibt ein
anderes Projekt, das heißt ReGenesis. Das
hat Friedrich Lindenberg mal gemacht vor
ein paar Jahren. Das ist quasi auch eine
Webanwendung, die eine Rest-API zur
Verfügung stellt für diese Daten. Das
Projekt ist schon so ein bisschen sehr in
die Jahre gekommen und wird auch nicht
mehr weiter gepflegt. Und wir setzen aber
darauf auf. Das heißt, der Code, mit dem
wir die Daten herunterladen aus diesen
offiziellen Portalen, das ist quasi der
ReGenesis-Code, den wir auch verwenden.
Das ist eben auch eine Python-Anwendung.
Okay, weitere Fragen?
P3nny: Ja, und wir müssen halt nochmal
gucken, weil die Idee ist, welche Schritte
man sich vornimmt. Man könnte das relativ
umfangreich machen, dass man halt jeden
einzelnen Datensatz durchgehen muss. Man
könnte dann definitiv eine bessere
Erklärung dazu schreiben, muss das aber
halt mal recherchieren. Man müsste dann
halt quasi diese Untervalues auch
nochmal... also man könnte versuchen,
jeden einzelnen dieser Datensätze besser
zu machen. Das ist vielleicht ein bisschen
viel gewollt, sodass wir jetzt erst gesagt
haben: Okay, wir gehen den Schritt zurück
und machen halt diesen Pain, den ich
beschrieben habe, weniger schlimm. Also
erstmal den ersten Schritt und dann das
andere auch in Kooperation mit den
jeweiligen Ämtern und so, weil man dann
immer nochmal jemanden fragen muss, der
diese Statistik erstellt hat. Weil wenn
ich dann eine einfachere Beschreibung hin
schreibe, schlägt er nachher die Hände
über dem Kopf zusammen und sagt: Ja, so
kann man das aber nicht genau sagen.
Deswegen - da dazwischen, in diesem
Spannungsfeld bewegen wir uns und machen
jetzt erstmal den ersten Schritt.
Q: Ja, wie sieht denn generell euer
Technologie Stack aus? Python und Flask
haben wir jetzt schon gehört. Was ist noch
im Spiel bei euch?
Simon: Also wir benutzen ja wie gesagt
Python und Flask für die Webanwendungen.
Wir benutzen Elastic Search für die...
quasi als Such-Backend, aber wir arbeiten
im Moment mit Elastic Search auch so, dass
wir einfach diesen kompletten Datensatz,
den wir runterladen, einfach reinpumpen,
damit man auch darüber suchen kann. Ich
bin mir auch noch nicht sicher, ob das der
perfekte Weg ist, aber im Moment
funktioniert das für uns ganz gut. Das
heißt, wir haben keine Postgres-Datenbank
oder so, wo das drin ist, sondern wir
haben einfach nur diesen Postgres... äh,
diesen Elastic Search Datenhaufen und
suchen das dann darin. Das heißt, die
Flask-App ist im Moment auch eine sehr
sehr einfache Flask-App, die einfach nur
ein - ich sage jetzt mal so - ein Frontend
darüber zur Verfügung stellt - also quasi
ein technisches Frontend. Die
Benutzeroberfläche, die ihr sehen könnt,
also das grafische Frontend, das
entwickeln wir mit React und ein bisschen
Datenvisualisierungs-Bibliotheken,
VictoryJS wäre so ein Stichwort. Das ist
eine quasi ein React Wrapper um D3. Also
D3 ist so eine Datenvisualisierungs-
Bibliothek, VictoryJS sind quasi
Datenvisualisierungs-Komponenten, die man
in React verwenden kann auf Basis von D3.
Eine interessante technische Sache, was
Patricia gerade angesprochen hat, ist: Es
gibt so eine Bewegung in der JavaScript-
Welt, nicht mehr super komplexe JavaScript
Anwendungen zu bauen, die nur auf dem
Client laufen, sondern Sachen halt
irgendwie wieder wie früher auf dem Server
zu rendern oder idealerweise schon quasi
zu einem... ich sage mal zum Build-
Zeitpunkt wieder als HTML auszugeben. Und
da gibt es ein fancy Wort dafür, das heißt
JAMstack. Was es bedeutet: Das heißt
einfach nur, man baut eine Anwendung mit
JavaScript, in unserem Fall mit React. Die
baut auf einer API auf. Die API kann auch
für andere Dinge wiederverwendet werden
und wir bauen halt so einen JavaScript
Client dafür. Und aus diesem JavaScript
Client generieren wir dann aber ganz viele
HTML-Seiten, damit man quasi eine HTML-
Seite hat für jede Stadt. Und wenn du die
dann... wenn du dann auf diese Seite
gehst, dann lädtst du die HTML-Seite
runter und die kannst du direkt sehen,
weil es ist halt einfach nur HTML. Aber im
Hintergrund wird halt dieser ganze
JavaScript-Kram initialisiert. Und das
klingt jetzt sehr kompliziert, aber da
gibt es ein Framework, mit dem man sowas
machen kann und das heißt Gatsby.js. Und
das benutzen wir hier und es funktioniert
für uns auch sehr gut. Wenn euch... wenn
ihr da genaueres wissen wollt, ich hänge
hier nachher noch ein bisschen rum, da
kann ich euch auch zeigen, wie das
funktioniert. Haben wir noch Zeit für eine
Frage?
Q: Halt, eine noch! Also noch einmal ein
Lob. Ich fand Konzept, Präsentation und
eure Prototypen sehr gut aussehend. Eine
konzeptionelle Frage: Ihr habt jetzt einen
hohen Fokus auf regionale Sachen gelegt.
Geht ja auch eine Ebene höher. Also
Bundesländer und der Bund vielleicht. Ich
sehe nämlich mittel- bis langfristig auf
jeden Fall irgendwie das Potenzial,
Statista... oder einen starken
Konkurrenten zu Statista aufzubauen, wo
mir einfach gerade ein bisschen Open
Source mäßig etwas fehlt.
Simon: Ja, also der Punkt kommt sehr oft.
Also der Punkt kommt sehr oft. Ja, also
ich finde auch, Statista finde ich extrem
schwierig. Vor allem finde ich es
schwierig, dass man, wenn man jetzt
irgendeinen Datensatz googlet, dann findet
man meistens Statista und es vermittelt
einem irgendwie, dass man jetzt bezahlen
muss, um diesen Datensatz herunterzuladen.
Und wenn wir über diese amtliche Statistik
reden, dann sind das halt freie Daten. Und
diese Idee, die ich vorhin beschrieben
habe, dass wir einzelne HTML-Seiten
generieren für jeden Ort und jeden
Datensatz, der kommt auch daher, dass wir
eigentlich so den Long Tail nutzen wollen
in den Suchmaschinen und eigentlich
idealerweise dann irgendwann höher gerankt
werden als Statista. Zu dem anderen Teil
deiner Frage, andere Datensätze da
reinzunehmen. Die statistischen Ämter
benutzen dieses System Genesis, um diese
Daten zu veröffentlichen.
regionalstatistik.de ist quasi eine
Genesis-Instanz, wo die Daten der
Statistischen Landesämter drin sind. Aber
es gibt eben andere Genesis-Instanzen und
mit unserer Technologie kann man
grundsätzlich auch andere Genesis-
Instanzen - die Daten aus anderen Genesis-
Instanzen laden und zur Verfügung stellen,
weil das alles genau gleich funktioniert.
Das hat halt mit unserem föderalen System,
was wir in Deutschland haben, zu tun.
Wobei das nicht heißt, dass die Software
ein föderiertes System ist. Also es ist
nicht Mastodon-föderiert, dass ich quasi
über eine Instanz von dieser Software alle
Daten abfragen kann, sondern die haben
halt einfach einzelne Instanzen, weil halt
andere Leute zuständig sind für andere
Datensätze. Aber perspektivisch wäre es
schon mein Ziel, mit diesem Konzept auch
andere Datensätze, idealerweise halt
alles, was irgendwie über Genesis
veröffentlicht wird, zur Verfügung zu
stellen. Wir haben uns jetzt eben als
einfachen Use Case die
regionalstatistik.de ausgesucht. Also ich
muss dazu sagen, wir arbeiten da schon
seit einem Jahr dran. Und wir haben am
Anfang sehr viel ausprobiert und wir haben
auch über die Zeit unseren Scope verändert
und die Tatsache, dass wir jetzt eben
diese konkrete, dieses konkrete Produkt
entwickeln und uns auf die
regionalstatistik konzentrieren, das ist
eigentlich eine neuere Sache. Aber das ist
einfach etwas, was wir jetzt machen
müssen, damit wir mit irgendetwas mal
vorankommen. Wir sind auch nur zu dritt
und vielleicht so vier, je nachdem, wie
man das zählt. Und lange zu zweit. Genau
deswegen, ja. Wir sind halt auch nicht
Statista. Aber Open Source Schreibtisch-
Hooligan Statista finde ich super. Also
wenn noch ein paar Leute von euch Lust
haben, dann können wir uns sehr gerne
drüber unterhalten.
Herald: Also wir haben auch noch viel Zeit
übrig, denke ich. Noch eine Viertelstunde
oder so. Wenn es noch mehr Fragen gibt,
supergeil. Ja, gerne weiter.
Q: Wie organisiert ihr euch als Projekt
und wie finanziert ihr euch?
Simon: Ja, also vielleicht... genau.
Patricia geht mal hier zurück, weit
zurück. Also wir organisieren uns im
Moment so ein bisschen über GitHub Issues.
Wir haben nen Slack-Channel im OKF-Slack.
Das ist halt irgendwie das Einfachste für
uns, wir sind auch ein verteiltes Team.
Also ich sage mal, wir arbeiten zeitlich
und räumlich verteilt. Patricia ist in
Köln. Ich bin in Berlin. Mein anderer
Kollege Simon Wörpel, der ganz viel an der
API arbeitet, der ist zwar auch in Berlin,
aber Berlin ist eine große Stadt. Wir
sehen uns jetzt auch nicht jeden Tag.
Deswegen halt sehr viel über Slack. Wir
haben uns jetzt in der Vergangenheit immer
mal getroffen. Ich glaube, wir uns zwei
Mal getroffen, seit wir an dem Projekt
arbeiten. Und... also dreimal mit jetzt.
Nächstes Jahr wollen wir, also wie gesagt,
so eine Art Hackathon machen. Da wollen
wir auch ein bisschen mehr Community
zusammenbringen und dann halt in dem
Zusammenhang auch irgendwie gucken, wie
man das Projekt als Open Source Projekt
weiterentwickeln kann und was für
Kommunikationskanäle man dann auch
braucht. Zur Förderung. Also ich hab ja
vorhin gesagt, wir hatten am Anfang eine
Förderung vom Prototype Fund. Das ist ein
sehr gutes Förderprogramm für Open Source
Projekte, die halt irgendwie eine
gesellschaftliche Relevanz haben. Das war
auch in der in der Bewerbung, in der
Durchführung super. Also kann ich nur
jedem empfehlen. Ich habe tatsächlich
inzwischen auch schon ein zweites
Prototype Fund Projekt hinter mir. Alle da
bewerben. Ich muss dazu sagen, ich habe
mich auch mit viel mehr Kram beworben, der
wurde nicht genommen. Gibt wahrscheinlich
auch viele Bewerber. Aber ich kann auf
jeden Fall jedem raten, es auszuprobieren
und euch am besten vorher mal mit den
Leuten vom Prototype Fund zu unterhalten.
Die sind auch hier irgendwie unterwegs.
Wenn ihr die hier anpingt, dann habt ihr
sicher die Möglichkeit, da noch eine
Audienz zu kriegen. Das ist auch ein
laufendes Programm. Also Prototype Fund
könnt ihr euch glaub ich noch das nächste
Jahr oder so auf ein paar weitere
Förderrunden noch bewerben. Unsere
aktuelle Förderung setzt sich zusammen aus
Geld, das wir vom Medien
Innovationszentrum Babelsberg bekommen
haben und so einem Stipendium, das ich
habe, im Moment. Das Medien
Innovationszentrum ist so ein Konstrukt,
da werden quasi Rundfunkgebühren
umverteilt an Innovationsprojekte und die
haben auch ein großes Interesse dran, so
Open Source Projekte zu fördern. Kann man
sich auch bewerben, ist ein bisschen
aufwendiger, so in der Durchführung und
was den administrativen Aufwand angeht und
ist nicht so viel Geld wie der Prototype
Fund. Deswegen immer erst einmal beim
Prototype Fund bewerben und wenn ihr dann
noch mehr Geld braucht, beim MIZ bewerben.
Das wäre so meine Strategie.
P3nny: Genau. Was wir aber im Rahmen
dieses MIZ-Dingens machen, weil der Fokus
da auf Journalisten und journalistische
Produktentwicklung liegt, ist, mit
Redaktionen zusammenzuarbeiten. Also es
gab neulich einen dpa Hack Day, wo schon
die ersten Journalistinnen mit einem Team
die API genutzt haben, um so eine Art
Newslettersystem... also ich kann mich
als Lokalredakteur für meine Stadt
Flensburg oder so da anmelden und kriege
dann halt immer nen Alert, wenn Daten...
also wenn Flensburg irgendwo top oder low
gerankt ist. Sowas kann man sich ja auch
vorstellen, dass man das als Service
anbietet. Und ich selber bin freie
Mitarbeiterin beim WDR. Geplant ist, dass
wir ein Daten-Projekt vielleicht rund um
die Europageschichte oder so mit dem WDR
und so machen. Also um das, was wir da
tun, auch reinzutragen in etablierte
journalistische Unternehmen.
Simon: Ja also ich vermute mal, dass deine
Frage auch mehr so auf Businessmodell
abgezielt hat dafür. Und das haben wir
tatsächlich im Moment nicht. Man muss mal
gucken. Also jetzt im Moment ist es ja
sehr... also es ist sehr billig, das zu
betreiben für uns im Moment. Die Website
wird wahrscheinlich auch relativ
unproblematisch sein, weil die ist erstmal
nur ein Haufen HTML. Das kann man im
Zweifelsfall umsonst bei Netlify oder so
betreiben oder auf GitHub. Interessanter
ist halt die Sache mit der API. Also ich
glaube, wenn wir... also so ein großer
Elastic Search Cluster kostet richtig
Geld. Ich denke mal, wenn wir Power User
haben, die dafür halt irgendwas... also
diese API für irgendetwas benutzen, was
vielleicht für die auch eine kommerzielle
Relevanz hat, dann kann ich mir schon
vorstellen, dass man da irgendein Modell
findet, wo man quasi dafür bezahlt, wenn
man einen sehr hohen, sehr hohes
Datenaufkommen verursacht oder so. Aber
das ist so ein Problem, mit dem wir uns im
Moment noch nicht befassen. Grundsätzlich
hab ich... Genau. Es gibt ja alle
möglichen Ideen, was man da drum machen
kann. Ich kann mir gut vorstellen, dass
man perspektivisch vielleicht etwas über
Sponsoring macht, also dass man sagt, dass
Medienorganisationen, die unsere Daten
verwenden... keine Ahnung, uns irgendwie
fördern oder so. Patrica hat gerade
gesagt, wir haben auch schon so überlegt,
ob man halt ne Brücke baut zu anderen
Tools, wo man dann vielleicht irgendwas
Kommerzielles macht, was nicht der Kern,
das Kernprojekt ist. Also dass man sagt,
es gibt ein Datenvisualisierungstool, das
heißt Data Wrapper. Naja, dass man sagt,
wenn Data Wrapper irgendwie unsere Daten
benutzen will, dann stellen wir das denen
halt in irgendeiner Form zur Verfügung und
man überlegt sich dann da halt ein Modell
dazu. Aber ich will eigentlich nicht so...
ich sehe mich jetzt nicht als
Medienunternehmer und ich will jetzt auch
nicht den nächsten Statista Datenbroker
gründen, gerade hier auf dem Kongress.
Also idealerweise würde dieses Angebot
auch irgendwann sich selber abschaffen,
weil die statistischen Ämter sehen, wie
sie die Daten eigentlich aufbereiten
müssen, damit Bürger die nutzen und dann
machen sie selber ein ähnliches Angebot.
Das ist jetzt vielleicht sehr utopisch
gedacht, aber es gibt durchaus Leute bei
den statistischen Ämtern, die ein
Interesse daran haben, sich breiter zu
öffnen. Und die sehen auch, dass sie etwas
machen müssen. Weil die sind dem
Innenministerium unterstellt und die sind
nicht unbedingt die größte Priorität vom
Innenministerium gerade. Das heißt, die
haben durchaus auch ein Interesse daran,
mehr Aufmerksamkeit für ihre Arbeit und
ihre Daten zu kriegen. Und wir stehen auch
auf jeden Fall im engen Austausch mit den
statistischen Ämtern.
Q: Ja hi, eine Frage, wie ihr die Daten
gewinnt. Ihr habt gesagt, Genesis wäre ein
Austauschformat? Also ich stelle mir das
sehr mühsam vor, wenn ich jetzt überlege,
wie ich diese ganzen Daten von diesen
Seiten aggregieren müsste, das wäre - ich
würde jetzt schon aufhören. Und es scheint
da nen Standard zu geben. Könnt ihr
darüber was sagen oder wie diese Daten zu
euch kommen?
Simon: Ja, genau. Also ich habe vorhin ja
erwähnt, wir sind da schon durch so ein
paar Iterationen gegangen. Am Anfang haben
wir tatsächlich die Daten mehr oder
weniger gescrapet, was auch nicht so
einfach ist, weil eigentlich werden die
Daten da halt für jeden Abruf generiert,
aber da gibt's halt so ein paar... das ist
alles, ja, also alles so ein bisschen
kompliziert. Aber es gibt halt die
Möglichkeit, da auch statische Daten
runterzuladen einfach und das haben wir eine
Weile gemacht und haben uns dann so ein
Schema-System überlegt, mit dem man quasi
automatisiert diese einzelnen Datensätze
aufräumen kann. Da musste man aber immer
noch für jeden von den 450 Datensätze
irgendein Schema beschreiben. Wir sind
dann im Austausch mit den statistischen
Ämtern so weit gekommen, dass es
tatsächlich eine Daten-Schnittstelle gibt,
die ist für regionalstatistik.de nicht
dokumentiert. Aber sie existiert. Alle
Genesis-Instanzen, die betrieben werden,
die haben eine Daten-Schnittstelle. Die
kostet manchmal Geld, manchmal nicht. Bei
dem offiziellen Angebot von Destatis zum
Beispiel, da kostet die ein Haufen Geld
und ist dokumentiert. Bei
regionalstatistik.de kostet die nichts,
dafür ist auch nirgendwo im Web was drüber
geschrieben. Wir benutzen jetzt aber diese
Datenschnittstelle, das ist eine SOAP-
Schnittstelle, wenn des hier jemand was
sagt. Also es ist mehr so Enterprise
Level. Das benutzen halt Banken und
Versicherungen. Vielleicht heute auch
nicht mehr, wenn sie heute nochmal damit
anfangen würden. Aber es ist halt eine
SOAP-Schnittstelle und ist quasi eine
SOAP-Schnittstelle auf nen OLAP Data Cube.
Also das ganze ist ein Datenquader, also
irgendwie so eine Terabyte große
Datenstruktur, die irgendwo steht. Die
könnte man sich auch komplett runterladen
und dann direkt auf diesem OLAP Cube
operieren. Aber im Moment benutzen wir
ReGenesis, das ist eben dieses Open Source
Tool, was ich vorhin beschrieben habe. Und
mit ReGenesis kann man eben diese SOAP API
relativ einfach aus Python ansprechen.
Aber die Idee ist halt, dass wir ein Layer
drüber ziehen, der einfacher ist. Aber wir
räumen jetzt, also Stand jetzt, räumen wir
nicht mehr manuell Daten auf, die wir
gescrapet haben. So viel kann ich sagen.
Q: So eine Follow up Frage hätte ich dazu
noch aus dem Operations-Bereich: Skaliert
das? Also wenn ihr weitere Datenquellen
anbinden wollt, wie Bundes-, whatever?
Keine Ahnung, wie viel manuelle Arbeit
steckt da drin?
Simon: Naja, also jetzt kann man
tatsächlich halt... also es gibt dieses
Open Source Projekt, kannst du dir
angucken, kann man mit mehr oder weniger,
naja, ich glaube so in 20 bis 30 Minuten
kann man sich dieses Backend-Projekt
aufsetzen und dann auch Daten da rein
laden. Also es ist schon alles irgendwie
so automatisiert, dass man das machen kann
jetzt für uns. Naja, inwieweit es skaliert
Also skalieren hat hier verschiedene
Dimensionen. Also einmal pumpen wir die
Daten halt alle in Elastic Search. Keine
Ahnung, ob das skaliert, wird sich noch
rausstellen. Funktioniert jetzt mit dem
Datensatz, den wir haben. Die andere Sache
ist halt der Download der Daten und das
ist im Moment relativ einfach aufgesetzt.
Also ich hatte vorgestern hier einen
technischeren Talk drüben in der Chaos
Zone und hab darüber geredet, wie das
technisch funktioniert. Und dann kam
gestern jemand zu mir und hat mir erklärt,
er hat jetzt einen Docker-Container
gebaut, der unser Backend enthält mit
allem Zeug. Also das heißt, irgendjemand
hat sich dann hingesetzt und das gemacht.
Das ging offensichtlich relativ einfach.
Ich weiß nicht ob die Person da ist. Nein,
auch gut, aber ja. Also mit dem Text-Hack
zu arbeiten ist relativ einfach, wie es
perspektivisch skaliert, ist glaube ich
eher ein Problem der Datenhaltung. Und ich
glaube, wenn man richtig viel damit machen
wollte, müsste man eigentlich sich mit
diesem OLAP Cube befassen. Das sagen auch
die Leute von den statistischen Ämtern.
Also wenn man denen mit einem besonderen
Problem kommt, dann sagen die: Ja, da
müssen sie halt den Datenquader
runterladen. Also, das heißt Datenquader
bei denen. Aber ja, das machen tatsächlich
auch Leute. Also Statista lädt
wahrscheinlich diesen OLAP Cube runter,
wahrscheinlich irgendwie jede Nacht oder
so. Das wäre jetzt so meine Vermutung. Und
dann haben die halt irgendwelche Prozesse
hinten dran, was das in ihre Systeme
übersetzt. Aber das ist halt so ein
Bereich, in dem wir jetzt
nicht operieren. Also das ist dann
auch ein anderes Projekt, glaube ich.
Q: Gibt es, gibt es irgendwo eine
Übersicht von diesen amtlichen
Kennzeichen, von den Variablen oder den
Definitionen dahinter?
Simon: Ja. Willst du darüber was sagen?
P3nny: Also auf regionalstatistik.de
gibt's einen Daten-Katalog und in dem sind
die quasi nach Feldern aufgeschlüsselt.
Also Wirtschaft, Umwelt, Bevölkerung oder
so grob. Und da drunter findest du dann
die einzelnen Dateien. Wobei so richtig
gut zum Durchsteigen ist das nicht. Aber
wenn man sich damit beschäftigt, dann
versteht man das schon. Und dann findet
man diese Kennziffer und diese Kennziffer
kann man ja dann auch wieder in die API
reinschmeißen.
Hier vorne noch?
Da hinten?
Simon: Also eine Sache dazu ist auch, dass
wir auch... also wir haben so ein GitHub
Issue offen, diese Übersicht auch da
rauszuziehen und quasi mit in unsere in
unsere Web-Oberfläche einzubinden. Also
ich habe gerade schon gezeigt, dass wir so
eine riesenlange Liste haben von jeder
Stadt und jeder Gemeinde. Und genauso
wollen wir halt auch eine riesenlange
Liste von jedem Merkmal, das man
durchsuchen kann. Das heißt, das ist quasi
eine Aufgabe, an der wir arbeiten werden
in den nächsten Wochen.
Q: Okay, von mir... okay sorry. Nochmal
eine Folgefrage quasi: Habt ihr
mittelfristig vor, auch manuelle
Dateneingabe zu ermöglichen? Weil es gibt
ja relativ viele Reports von
Unternehmensberatungen etc pp, wo
superspannende Daten drinstehen, was aber
glaube ich schwierig zu automatisieren
ist. Ob ihr da so vorhabt, einen
Communityapproach zu fahren,
dass irgendjemand das einträgt und
irgendjemand reviewt das
und dann passt das schon oder
irgendwas in die Richtung?
Simon: Also ja, das haben wir im Moment
nicht vor. Also im Moment ist unser Weg
der einfache Weg und das ist, quasi Dinge
verwenden, die irgendwie einheitlich
erfasst werden, wo klar definiert ist, wo
sie herkommen, wo auch die Lizenz-
Situation klar ist und die dann halt
wieder zu veröffentlichen. Also ich hab
die Frage auch schon öfter bekommen bei so
Präsentationen und es ist im Moment,
glaube ich, irgendwie komplett out of
scope für uns, weil es halt dann so viele
Fragen aufwirft, mit denen wir uns dann
befassen müssten. Das ist halt einfach...
da haben wir gerade andere Probleme, die
wir einfacher lösen könnten, so. Aber
interessant wäre es auf jeden Fall und das
wäre dann quasi so ein Gecrowdsourcestes,
selber gemachtes Open Data Statista. Also
ich fände es super interessant, aber das
ist glaube ich ein anderes Projekt
einfach.
Herald: Ich glaube, wir haben noch Zeit
für eine letzte Frage. Gibt's noch eine?
Simon: Ja, keine Fragen. Ist doch super.
Ja, ich bin hier links um die Ecke
noch ne Weile, wenn ihr irgendwie
konkretere Fragen habt
oder euch nochmal was angucken
wollt oder mir noch von eurer Idee
erzählen wollt, dann kommt gern vorbei und
quatscht mich an. Vielen Dank.
Applaus
Musik
Untertitel erstellt von c3subtitles.de
im Jahr 2021. Mach mit und hilf uns!