Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

2015.05.19 tom de nies - tin can2prov exposing interoperable provenance of learning processes through experience api logs

751 views

Published on

Slides for my talk at the LILE2015 workshop at WWW2015
http://lile.linkededucation.org/2015/

Published in: Engineering
  • Be the first to comment

2015.05.19 tom de nies - tin can2prov exposing interoperable provenance of learning processes through experience api logs

  1. 1. ELIS – Multimedia Lab Tom De Nies, Frank Salliau, Ruben Verborgh, Erik Mannens, Rik Van de Walle Ghent University – iMinds – MMLab http://research.tomdenies.be tom.denies@ugent.be @TomDeNies TinCan2PROV: Exposing Interoperable Provenance of Learning Processes through Experience API Logs
  2. 2. ELIS – Multimedia Lab Logging learning processes Tin Can a.k.a. the Experience API W3C PROV: the standard for provenance Mapping Tin Can to PROV Put it to the test What’s next? Conclusion Outline
  3. 3. ELIS – Multimedia Lab Logging Learning Processes
  4. 4. ELIS – Multimedia Lab Digital learning records can give us insight in:  Student performance  Learning circumstances/context  Correlation between students, assignments, teachers, materials, …  And much more! Logging Learning Processes
  5. 5. ELIS – Multimedia Lab (a.k.a. the Experience API, a.k.a. the xAPI) Currently the go-to solution to effectively log (learning) experiences. Pros: developer-friendly JSON format, easy-to-understand basics, plenty of Learning Record Store (LRS) options to manage the logs. Cons: no full-fledged Linked Data, some awkward design choices How can we log learning experiences?
  6. 6. ELIS – Multimedia Lab { "actor": { "mbox": "mailto:tom.denies@ugent.be", "name": "Tom De Nies", "objectType": "Agent" }, "verb": { "id": "xapi-verbs:completed", "display": { "en": "completed" } }, "object": { "id": "http://www.example.org/exercise1", "objectType": "Activity", "definition": { "name": { "en": "Example Activity" } } } } Time for an example “I” “did” “this”
  7. 7. ELIS – Multimedia Lab See http://tincanapi.com/ statements-101/ (of course there’s more to be logged…)
  8. 8. ELIS – Multimedia Lab We could, but then we would miss some opportunities:  There’s just 1 serialization: JSON  This would limit the choices in database technology …  … which would limit the choices when building a LRS  Tin Can’s machine-interpretability is sub-optimal (e.g., the URL for the specification is either a PDF or a Github blob)  Interoperability could be improved Why not just use Tin Can as is?
  9. 9. ELIS – Multimedia Lab Let’s look at that earlier Tin Can statement in another way: What can we do about this? Tom De Nies completed Example Activity
  10. 10. ELIS – Multimedia Lab … called provenance “Provenance is information about entities, activities, and people involved in producing a piece of data or thing.” – W3C PROV http://www.w3.org/TR/prov-dm/ So if learning experience logs describe the things that led to a result … they are actually provenance! … and that means we can model it in PROV! This reminds me of something…
  11. 11. ELIS – Multimedia Lab PROV has the power to address our previous concerns:  There’s many serializations: PROV-N, RDF, XML, JSON, …  This could go in any database: mongodb, relational, a triple store, linked data fragment, …  … we could use this to build a LRS ourselves!  Everything is machine-interpretable  Interoperability is PROV’s raison d’être… Why PROV?
  12. 12. ELIS – Multimedia Lab Learning logs could be cross-referenced with: Imagine the possibilities… Version history of educational software Lineage and inventory of the study material Provenance of the teaching staff, IT infrastructure, … And so on!
  13. 13. ELIS – Multimedia Lab Overview of our workflow
  14. 14. ELIS – Multimedia Lab Step 1: bring the statement closer to actual Linked Data http://www.w3.org/TR/json-ld/ In theory, all we need is to add an “@context” : “http://semweb.mmlab.be/ns/tincan2prov/tincan2prov.jsonld” which maps every JSON field to a concept in an ontology. In practice, this revealed some flaws with the xAPI specification… JSON-LD
  15. 15. ELIS – Multimedia Lab There was no ontology (at least no machine-interpretable one). So we created one: http://semweb.mmlab.be/ns/tincan2prov/ Adding this to root of JSON object should work now: “@context”: http://semweb.mmlab.be/ns/tincan2prov/tincan2prov.jsonld, “@type”: “xapi:Statement” Converting xAPI JSON to JSON-LD (1/2)
  16. 16. ELIS – Multimedia Lab Hiccups encountered: - The field “id” is reserved for the URI in JSON-LD, so we need to add "@context": { "id": "@id"} to every verb and object property - Language tags: xAPI conforms to RFC 5646, whereas JSON-LD conforms to RFC 4646 - Extensions & attachments are use case dependent - Equally named fields don’t always have the same datatype (e.g., id can sometimes be a UUID, other times a URI) Converting xAPI JSON to JSON-LD (2/2)
  17. 17. ELIS – Multimedia Lab { "@context": “http://semweb.mmlab.be/ns/tincan2prov/tincan2prov.jsonld", "@type": "http://semweb.mmlab.be/ns/tincan2prov/Statement", "actor": { "mbox": "mailto:tom.denies@ugent.be", "name": "Tom De Nies", "objectType": "Agent" }, Our running example in JSON-LD (1/2)
  18. 18. ELIS – Multimedia Lab "verb": { "@context": { "id" : "@id" }, "id": "xapi-verbs:completed", "display": { "en": "completed", "nl": "afgewerkt" } }, "object": { "@context": { "id" : "@id" }, "id": "http://www.example.org/exercise1", "objectType": "Activity", "definition": { "name": { "en": "Example Activity" } } } } Our running example in JSON-LD (1/2)
  19. 19. ELIS – Multimedia Lab [] xapi:actor [ a xapi:Agent; xapi:name "Tom De Nies"@en; foaf:mbox <mailto:tom.denies@ugent.be> ]; xapi:verb xapi-verbs:completed ; xapi:object <http://www.example.org/exercise1> . xapi-verbs:completed xapi:display "completed"@en , "afgewerkt"@nl . <http://www.example.org/exercise1> a xapi:Activity ; xapi:definition [ xapi:name "Example Activity"@en ] . …or in RDF/Turtle
  20. 20. ELIS – Multimedia Lab xapi:actor → prov:Agent xapi:verb → prov:Activity xapi:object → prov:Entity xapi:result, xapi:score, xapi:context, xapi:attachments→ prov:Entity xapi:contextActivities → prov:Collection of xapi:Activity xapi:stored → prov:wasGeneratedBy xapi:timestamp → prov:qualifiedStart Infer PROV assertions (in a nutshell)
  21. 21. ELIS – Multimedia Lab The result
  22. 22. ELIS – Multimedia Lab Try it yourself at http://tincan2prov.org
  23. 23. ELIS – Multimedia Lab How do you evaluate a mapping? → by using it extensively in practice Again, only experience will tell… For now: checked with 20 diverse statements from the public Tin Can LRS http://tincan2prov.org/evaluation.html - Smooth conversion (when input was valid) - No loss of information observed (so mapping can be reversed if need be) Put it to the test
  24. 24. ELIS – Multimedia Lab Flemish project Edutablet http://www.iminds.be/en/projects/2014/03/20/edutab User-driven development and optimization of digital teaching aids in education Real-life tests in schools running as we speak The end-game: a fully LD/PROV-based LRS What’s next?
  25. 25. ELIS – Multimedia Lab The foundations for interoperable learning logs are there. Now we need to start harnessing the power of Linked Data in education… … and TinCan2PROV is a small step in the right direction! http://tincan2prov.org Conclusion

×