*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!