Conceptual friday 2 mei 2014

DataCube en sensor data

Op uitnodiging van case 3 / 7 kwam Christophe Gueret een toelichting geven over de DataCube vocabulaire en met ons discussiëren over de mogelijke toepasbaarheid daarvan op sensor data.

Christophe begon met een overzicht van de vocabulaire. Het draait in DataCube om Observations die Dimensions en Measures hebben. De observasions zijn veelal statistische waarnemingen. Dimensions zijn eigenschappen van een waarneming en de measure geeft de hoeveelheid aan. Een observation kan bijvoorbeeld gaan over een groep mensen met 10 personen: de measure van die observatie is dan 10. Het is in DataCube good practice om ook een DataStructureDefinition mee te geven: een beschrijving van de datastructuur. Dit is niet strict noodzakelijk omdat in RDF data zelfbeschrijvend is, maar bij de verwerking van statistische data is het toch wel prettig om een voorspelbare en beschreven datastructuur te hebben. DataCube tooling maakt hier gebruik van.

Datacube-overview.png

Slices vormen een speciale manier om de data te organiseren en comprimeren. Je kunt bijvoorbeeld een 'slice' maken van alle observaties in één jaar: dit doe je door in de SliceKey het betreffende jaartal te zetten. Voor sensor data zou een logische slide de locatie zijn.

Triple stores: bad at UPDATE

Uit het overzicht van Christophe bleek echter dat Data Cube waarschijnlijk minder geschikt is voor sensor data vanwege de grote hoeveelheid continuus data. In het algemeen kun je stellen: Triple stores are bad at UPDATE. Het is niet aan te raden om, bijvoorbeeld, elke 10 seconden (of vaker) een Observation te maken, terwijl dit bij sensordata wel gangbaar is. Het is voor dit soort data vooral interessant om te kijken naar de RRD Tool en het Spitfire project van o.a. Manfred Hauswirth (DERI Galway). De RRD Tool is een niet op linked data technologie gebaseerde, maar wel efficiënte oplossing voor continuus data zoals sensor data. Om de data op het linked data web te kunnen gebruiken, zou je hier bovenop een laagje DataCube en een SPARQL endpoint bovenop kunnen zetten, die onder water de queries vertaalt naar RDD syntax. Dit kan natuurlijk ook met een andere efficiënte store voor continuus data.

Naast DataCube is ook SSN kandidaat voor het linked data 'laagje' bovenop een snelle opslagvoorziening. SSN is meer specifiek gericht op sensoren maar gaat ook over observaties (hier zit een duidelijke overlap met DataCube). Het Spitfire project gebruikt SSN.

Linked Data Platform is ook interessant in zo'n architectuur. Je kunt dan bijvoorbeeld URIs gebruiken die containers derefereren in plaats van individuals en in deze containers kun je van alles stoppen. Je zou bijvoorbeeld alle metingen per 10 of 100 per dag kunnen groeperen in zo'n container. De metingen als linked data kun je on the fly genereren als er om verzocht wordt. Linked Data Platform is een Last Call draft standaard van de W3C. Er zijn al meerdere implementaties, zoals Marmotta, Callimachus, rdflib.js, Virtuoso en TopBraid (als de wat grotere spelers) die ook het concept van containers en paging ondersteunen.

Volgende stap: Contact opnemen met Manfred Hauswirth van Spitfire en zijn advies vragen over de te gebruiken architectuur voor sensor linked data; en over de keuze voor DataCube vs SSN.

Links

De DataCube vocabulaire: http://www.w3.org/TR/2014/REC-vocab-data-cube-20140116/

Informatie over RDDtool: http://oss.oetiker.ch/rrdtool/

Manfred Hauswirth, een authoriteit op het gebied van sensordata en linked data: http://www.manfredhauswirth.org/

Het Spitfire project waar hij bij betrokken is: http://www.spitfire-project.eu/

extra link met o.a. Data Cube voorbeelden: http://www.w3.org/TR/vocab-data-cube-use-cases/

Linked Data Platform: http://www.w3.org/2012/ldp/wiki/Main_Page http://www.w3.org/TR/2014/WD-ldp-20140311/ http://www.w3.org/wiki/LDP_Implementations

Project waar Christophe bij betrokken is en waar Data Cube gebruikt is: http://www.cedar-project.nl/

http://opencube-project.eu/ (Paul Hermans is hier bij betrokken)

http://aksw.org/Projects/CubeViz.html (gebaseerd op OntoWiki)

Sarven Capadisli doet veel met statistiek en linked data. Zijn werk is te vinden op: http://270a.info/

Een gemakkelijk te installeren, lightweight triple store: http://www.aelius.com/njh/redstore/

http://www.spitfire-project.eu/coap1

http://www.pilod.nl/wiki/SSN

http://smartcitizen.me/

http://smartcitizen.me/devices

http://smartcitizen.me/devices/view/1046

https://xively.com/

http://nimbits.com/index.jsp

http://ontop.inf.unibz.it/

http://nbviewer.ipython.org/github/cgueret/CEDAR-Analysis/blob/master/Analysis%20of%20harmonized%20data.ipynb

http://ercim-news.ercim.eu/en97/ri/the-entity-registry-system-publishing-and-consuming-linked-data-in-poorly-connected-environments

http://www.w3.org/TR/json-ld/

http://yasgui.laurensrietveld.nl/

http://theodi.org/