Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Energy to Live

Energy to Live

The Energy to Live project was created during the course "Semantic Technologies" at Graz University of Technology.

F9bf9c0311137e6c4878d74cd54a8e41?s=128

Maximilian Fellner

January 18, 2012
Tweet

Transcript

  1. Energy to Live Android, Spring und Sesame Maximilian Fellner Sumann

    Florian Solic Gernot
  2. Überblick ›  „Energy to Live“ ›  Android ›  Spring Web

    REST-API ›  Spring SPARQL Workbench
  3. flickr.com/photos/pagedooley/4370352638

  4. flickr.com/photos/riot/3195335908

  5. Energy to Live ›  Aufzeichnen vom Energieverbrauch ›  Fahrzeugrouten › 

    Routendaten sammeln ›  GPS Daten ›  Routendaten speichern ›  RDF Triple – Store (Sesame) ›  Routendaten anzeigen ›  SPARQL Abfragen
  6. Client – Server Architektur ›  Client - Android + GPS

    ›  Server - Tomcat (Java) ›  Sesame Triple-Store ›  Spring Framework ›  REST-API (Client-Server Kommunikation) ›  Workbench (Browser + SPARQL)
  7. Architektur Design

  8. Android – “Energy2Live”

  9. flickr.com/photos/mikeancient/2235415860

  10. “Energy2Live” ›  Tracks aufzeichnen ›  oder manuell eingeben

  11. “Energy2Live” ›  Lokaler SQLite Speicher ›  OrmLite ›  Annotierte Model-Klassen

    ›  Adapter-Pattern ›  Vorteile ›  Lokale Persistenz ›  Interkompatibilität
  12. “Energy2Live” ›  Upload zum server (XStream) <st.energy2live.data.track.TrackLog>! <vehicle class="st.energy2live.data.vehicle.VehicleA">! <name>Golf</name>!

    <manuFacturer>VW</manuFacturer>! <fuelConsumtion>7.5</fuelConsumtion>! <id>1</id>! </vehicle>! <trackPoints>! <st.energy2live.data.track.TrackPoint>! <dateTime>2012-01-18 08:59:21.496 UTC</dateTime>! <point>! <latitude>47.0574579</latitude>! <longitude>15.4731218</longitude>! </point>! </st.energy2live.data.track.TrackPoint>! </trackPoints>! <trackDistance>122.0</trackDistance>! </st.energy2live.data.track.TrackLog>!
  13. Client-Server Kommunikation

  14. Client-Server Kommunikation ›  REST - HTTP ›  Tomcat + Spring

    ›  Request - Response ›  Aktionen ›  Benutzer erstellen ›  Anmelden ›  Routen erstellen
  15. Client-Server Kommunikation ›  Neuen Benutzer anlegen ›  Überprüfen ›  Anlegen

    ›  Neue Routen anlegen ›  Login (Session) ›  HTTP - POST ›  Java Objekt Serialisierung ›  Sesame Verbindung ›  RDF-XML Triple
  16. Client-Server Kommunikation ›  Routen Struktur ›  Fahrzeuge ›  GEO Punkte

    ›  Datum + Zeit
  17. Client-Server Kommunikation ›  Benutzer Struktur ›  Eigenschaften ›  Privatsphäre (privacy)

  18. flickr.com/photos/kevinwhite/508710091

  19. Webclient

  20. Webclient Darstellung der gesammelten Daten ›  Benutzer ›  Benutzerinformationen › 

    Route ›  Detailansicht ›  Distanz ›  Verbrauch ›  Karte (Google Maps) ›  Benutzerdefinierte Darstellung ›  Manuelle Eingabe (SPARQL Queries)
  21. Webclient ›  Benutzer ›  Benutzerinformationen SELECT ?id ?name ?mbox ?homepage

    ?user WHERE { ?user rdf:type foaf:Person . ?user foaf:name ?name . ?user foaf:mbox ?mbox . ?user foaf:homepage ?homepage . ?user user:privacy "0" . ?user user:id ?id }
  22. Webclient ›  Route ›  Fahrzeug ›  GEO Punkte ›  Datum

    + Zeit SELECT ?geolat ?geolong ?trackdate WHERE { <http://tracker.com/track/3> track:Trackpoints ?trackpoints . <http://tracker.com/user/thomasmuster> user:privacy "0" . ?trackpoints ?type ?trackpointsobject . ?trackpointsobject rdf:type geo:Point . ?trackpointsobject geo:lat ?geolat . ?trackpointsobject geo:long ?geolong . ?trackpointsobject dc:date ?trackdate }
  23. Fragen? Fork us on github.com/mfellner/energy2live