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!