Aktuelle Nachrichten
Neuigkeiten vom OwnYourData Team.
Neuigkeiten vom OwnYourData Team.
Diese Woche (21.-25. August) habe ich an der 3. Keystone Training School teilgenommen und das Thema war Keyword search in Big Linked Data: Es gab spannende Vorträge, interessante Teilnehmer und unser Team hat den Hackathon am Freitag überragend gewonnen 🙂 . Linked Data war für mich bisher ein obskurer Begriff der etwas mit dem semantischen Web zu tun hat, aber genau konnte ich es nicht einordnen. Das hat sich diese Woche grundlegend geändert und ich glaube auch für OwnYourData ergeben sich daraus wichtige Möglichkeiten zur Weiterentwicklung.
Das erste Mal beschäftigte ich mich mit dem semantischen Web 2006-07. Ziel des semantischen Webs war es, Informationen im Internet für Maschinen lesbar zu machen. Ein Beispiel: Wenn wir die Wikipedia-Seite von Wien lesen, finden wir schnell heraus dass Wien derzeit knapp 1,9 Mio Einwohner hat. Diese Information aber für Maschinen zugänglich zu machen und Vergleiche anzustellen (z.B. hat Oslo oder Wien mehr Einwohner?) war dagegen sehr schwierig. Das semantische Web sollte nun alle Informationen kategorisieren und verarbeitbar machen.
In dem Forschungsprojekt an dem ich damals teilnahm ging es um die Beschreibung von Zusammenhängen in der Flugdomäne und wir entwickelten Ontologien, „pferchten“ die vorhanden Daten in dieses semantische Korsett und erhofften uns neue Erkenntnisse. Nichts davon traf aber ein und ich glaube alle waren damals froh, als das Projekt vorüber war: außer ein paar vielversprechender akademischer Papers war für mich kein praktischer Nutzen erkennbar.
In den letzten 10 Jahren gab es aber in diesem Bereich wichtige Weiterentwicklungen: SPARQL als universelle Abfrage- und Manipulations-Sprache wurde vom W3C etabliert und es ist nun möglich unterschiedlichste semantisch beschriebene Datenquellen einheitlich abzufragen und ggf. auch zu bearbeiten (vergleichbar mit SQL bei Datenbanken). Der Vergleich ob Wien mehr Einwohner als Oslo hat, lässt sich in SPARQL so formulieren:
ASK { <http://dbpedia.org/resource/Vienna\> dbo:populationTotal ?x . <http://dbpedia.org/resource/Oslo\> dbo:populationTotal ?y . FILTER(?x > ?y) . }
Das Statement kann man hier eingeben und erhält dann dieses Ergebnis .
Außerdem lockerte man auch die Anforderungen zur semantischen Beschreibung von Daten: Anstatt komplizierte Ontologien zu entwerfen denen alle erfassten Daten streng entsprechen mussten, verfolgt Link Data „nur mehr“ das Ziel maschinenlesbare Attribute zu verwenden, die auch selbst definiert werden können – eine genauere Definition gibt’s hier. Tim Berners-Lee, Vater des semantischen Webs, beschrieb diesen pragmatischen Ansatz mit den Worten:
Linked Data is the Semantic Web done right.
Was bedeutet das nun für OwnYourData? Bisher ist der Datentresor als persönliches Archiv der eigenen Daten dafür ausgelegt, dass Apps via OAuth2 darauf zugreifen. D.h. es gibt ein vordefiniertes Datenformat (beschrieben auf Github bei den einzelnen Apps) und jegliche Datenquellen oder Visualisierungen, müssen sich daran halten. Zur Speicherung von Temperaturwerten in einem Raum sieht ein Datensatz als Beispiel so aus:
{"id":106920,"value":23.91,"timestamp":1502019600}
Diese Speicherung ist sehr effizient, hat aber auch einige Nachteile – insbesondere der fehlende Kontext:
value
? – auch hier muss ein Entwickler in der Dokumentation nachlesen, um das herauszufindenLinked Data würde den Datensatz so beschreiben (als Format wird hier JSON-LD verwendet, es gibt aber zahlreiche andere Alternativen):
{ "@context": "http://schema.org", "@type": "MeasureAction", "sensor": "https://chris.datentresor.org/sensor/library_temperature", "location": "Bibliothek", "dateCreated": "2017-08-25T19:30", "measurement": { "@type": "temperature", "value": "23.5", "unit": "Celsius" } }
Diese semantische Annotation erlaubt nun eine eindeutige Beschreibung der gesammelten Daten, die auch von Software interpretierbar ist. Möchte man Daten mit anderen teilen, kann leicht (= automatisiert) herausgefunden werden, ob relevante Informationen verfügbar sind und wenn ja, können sie auch zwischen verschiedenen Formaten konvertiert werden. Unter Zuhilfenahme der Linking Open Data Community sind völlig neue Anwendungsfelder denkbar und eine inzwischen weit verbreitete Anwendung sind sogenannte Knowledge Graphen.
Diese beschreiben meist Instanzen (zB Stadt Wien) samt Verlinkungen von Attributen (zB Einwohnerzahl) und stellen diese übersichtlich in Infoboxen dar. Bekannt sind diese Knowledge Graphen vor allem von den Suchergebnissen bei Google, wo sie Informationen zu berühmten Persönlichkeiten, Sehenswürdigkeiten oder Unternehmen in einer Box neben den Suchergebnissen anzeigen. Oder auch in Wikipedia wo beispielsweise Informationen zu Städtenrechts am Beginn eines Artikels dargestellt sind – diese Information ist dann übrigens als Linked Data via DBpedia verfügbar.
Als Ausblick für OwnYourData: ein solcher Knowledge Graph könnte mit den selbst gesammelten Daten dargestellt werden – siehe Kasten daneben. Falls du das spannend findest oder auch eigene Ideen für die Auswertung eigener Daten mit semantischer Annotation hast, schreib uns ein Email oder hinterlasse einen Kommentar unter diesem Artikel!
Seit einer Woche habe ich ein NAS (Synology DS1517+) und ein für mich besonders interessantes Feature ist die Möglichkeit darauf Docker-Container auszuführen. Gleichzeitig hat unser Jüngster (2½ Jahre alt) nun sein eigenes Zimmer und ich wollte wissen, ob er dort auch wirklich durchschläft. Unsere Freunde von Gonimo.com haben einen tollen Online-Babymonitor entwickelt und sogar ein eigenes Feature für uns eingebaut, um den gemessen Geräuschpegel in einem OwnYourData Datentresor mitzuprotokollieren. Zur Visualisierung der gesammelten Daten gibt es die OYD-Gonimo App und in diesem Blogpost beschreibe ich das Setup, um in der Nacht den Geräuschlevel im Schlafzimmer unseres Sohnes mit einem Android-Phone zu messen und im Datentresor aufzuzeichnen.
Folgende Komponenten verwende ich dafür:
Als erstes muss Docker installiert werden. Dazu öffne ich den DiskStation Manager (DSM) der Synology im Browser und gehe ins Package Center. Unter Utilities > Third-party findet sich ein Eintrag von Docker und dort klicke ich auf Install.
Als nächstes starte ich Docker und unter Image lade ich folgende 2 Images herunter:
Sind die beiden Images heruntergeladen, wähle ich sie jeweils aus und klicke auf Launch, um sie zu starten.
Als nächstes öffnen wir den Datentresor und die OYD-Gonimo App. Dazu muss ich den vergebenen Port herausfinden, der unter Container > {Auswahl} > Details > Local Port angegeben ist.
In meinem Fall sind die Adressen:
Als erstes öffne ich den Datentresor (Username: admin, Password: admin) und registriere dort die OYD-Gonimo App:
Standardmäßig werden Apps unter der Onlineadresse https://{app}.oydapp.org ausgeführt. Für sensible Daten möchte ich, dass aber nicht nur die Daten, sondern auch die Visualisierung bei mir daheim ausgeführt wird. Daher kopiere ich die Link-Adresse die bei Open angezeigt wird und ändere sie, sodass ich die OYD-Gonimo App auf der Synology aufrufen kann.
Die ursprüngliche Adresse war bei mir:
https://gonimo.oydapp.eu/?PIA_URL=http%3A%2F%2F192.168.1.134%3A32769&APP_KEY=eu.ownyourdata.gonimo&APP_SECRET=AiJ2n10RhqGLdBE24uOg
und den ersten Teil https://gonimo.oydapp.eu/
ändere ich auf die oben notierte Adresse der OYD-Gonimo App:
http://192.168.1.134:32768/?PIA_URL=http%3A%2F%2F192.168.1.134%3A32769&APP_KEY=eu.ownyourdata.gonimo&APP_SECRET=AiJ2n10RhqGLdBE24uOg
Die so erstellte Adresse füge ich nun in die Adressleiste meines Browsers ein und öffne die OYD-Gonimo App. Dort gehe ich auf die Seite Datenquellen und kopiere mir den Befehl, um den Online Babymonitor Gonimo.com für die Speicherung der Daten in meinen Datentresor zu konfigurieren.
In diesem Schritt müssen nun einige Konfigurationen vorgenommen werden, damit sich die Gonimo.com Webapp auf einem Android Handy mit dem OwnYourData Datentresor verbinden kann. (iOS Devices werden derzeit leider noch nicht unterstützt, sollen dann aber mit Safari in iOS 11 funktionieren.)
Dazu richte ich zuerst einen Reverse Proxy ein, damit der Datentresor über https erreichbar ist. Im Control Panel unter Application Portal > Reverse Proxy lege ich einen Eintrag wie im Screenshot unten dargestellt an. Der Hostname unter Destination muss dabei natürlich mit der eigenen IP Adresse ersetzt werden.
Damit ist der Datentresor nun unter https://{lokale Synology IP}:8080 erreichbar.
Den Schritt zum Einrichten eines Zertifikats musste ich nachträglich einfügen, da der Browser des (bereits alten) Android Smartphones das Default-Zertifikat von Synology nicht akzeptiert hat. (Ein Test am Desktop mit einem aktuellen Chrome Bowser (v59) hat das Zertifikat anstandslos akzeptiert.)
Dazu gehe ich im Control Panel auf Security > Certificate und erstelle mit Add ein neues Self-signed Certificate für die verwendete IP Adresse. Mit Configure weise ich dann dem Port 8080 dieses Zertifikat zu.
Jetzt verbinde ich das Android Smartphone mit meinem PC via USB und öffne am Smartphone im Chrome Browser die Seite „https://app.gonimo.com“. Am PC öffne ich ebenfalls den Chrome Browser und dort die Entwicklertools > Remote devices > das via USB verbundene Smartphone > den apps.gonimo.com Tab > Inspect > Console und füge den aus Schritt 3 Datentresor und OYD-Gonimo App starten kopierten Befehl der OYD-Gonimo App > Datenquellen kopierten Befehl ein.
Anmerkung: das Mikrofon des Alcatel One Touch benötigt einen geringeren Schwellenwert, damit es bei Geräuschen anschlägt; ich habe daher im eingefügten Befehl den Wert für threshold
von 0.3
auf 0.01
reduziert.
Nachdem dieser Wert für die Webseite gesetzt ist, klicke ich am Smartphone auf Baby und dann Start. Man kann das Smartphone nun vom PC trennen und zum Beispiel ins Kinderzimmer legen. Die Webseite schickt ab jetzt immer, wenn in einem 5 Sekunden Intervall ein Geräuschpegel größer als 0.01 erreicht wird, eine Nachricht mit dem aktuellen Zeitstempel und dem Geräuschpegel an den Datentresor. Am nächsten Morgen schließt man die Webseite im Browser und damit stoppt die Aufzeichnung. Bei der nächsten Verwendung muss man nur mehr die Webseite am Smartphone öffnen – keine Verbindung via USB und setzen der Werte ist mehr notwendig, da alle Informationen im Local Storage der Webseite gespeichert bleiben.
Am nächsten Morgen kann ich dann die Aufzeichnungen in der OYD-Gonimo App betrachten. Ich öffne dazu die OYD-App unter der Adresse die ich im Schritt 3 Datentresor und OYD-Gonimo App starten erstellt habe und sehe unter Auswertungen den Verlauf des Geräuschpegels in der Nacht.
Er ist um 8 Uhr eingeschlafen, hatte ein ruhige Nacht, aber bald nach 5 Uhr früh sind er und seine Brüder aufgewacht…
Mit dem hier beschriebenen Setup habe ich ein zusätzliches Anwendungsfeld für meine Synology beschrieben. Zugegeben ist die Installation für Endanwender im Moment zu schwierig, und in Zukunft möchte ich daher OwnYourData als eigene App im Synology Package Center anbieten. Die Installation soll dann so einfach wie jede andere Anwendung sein und mit einem einzigen Klick erfolgen. Falls dich das interessiert und du bestimmte Apps schon vorab verwenden möchtest, schreib mir ein Email oder hinterlasse einen Kommentar unter diesem Artikel!
Wieviel würden Menschen zB für die Sicherheit ihrer Gesundheitsdaten zahlen? Die Antwort haben wir recherchiert:
Als ersten Schritt haben wir nun Profile bei Facebook und Twitter angelegt und werden auch dort über Neuigkeiten bei OwnYourData berichten:
Wir freuen uns über Likes, Follower und natürlich über euer Feedback!
In diesem Beitrag stellen wir das Team von OwnYourData vor:
Initiator von OwnYourData mit Mathematik- und Wirtschaftshintergrund. Im Studium setzte er sich bereits intensive mit dem Thema Grid-Computing auseinander und jetzt ist er ebenfalls als Datenanalyst in anderen Startups tätig.
Er deckt die Bereiche Recht und Marketing ab. In seiner Diplomarbeit schrieb er über Zensurverbot und Meinungsfreiheit im Internet, war Projektleiter bei E-Commerce Projekten und hat auch schon mehrere Jahre Startup-Erfahrung.
Die Bereiche User Experience Design und ebenfalls Marketing werden von ihr betreut. Sie hat einen starken User Interface Background, arbeitet mit Scrum Teams als Product Owner und ist ebenfalls in der Startup Szene aktiv.
Als Architekt und Software Entwickler hat er bereits eine lange Historie in der IT Branche. Vom Studium, über diverse Firmen bis ebenfalls in Startups hatte er unterschiedliche Rollen in Analyse, Design und Umsetzung inne.
Wir freuen uns bekanntzugeben, dass die Netidee-Jury unseren Projektantrag positiv bewertet hat und OwnYourData im Zeitraum von Dezember 2015 bis Dezember 2016 fördern wird!
Uns und unser Projekt könnt ihr am “netidee best of” Event am 11. November 2015 ab 18:00 Uhr im Museumsquartier kennenlernen:
Museumsquartier Ovalhalle
Museumsplatz 1, 1070 Wien
Hier das Video mit unserem Projektantrag: