Successfully reported this slideshow.
Your SlideShare is downloading. ×

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

More Related Content

Related Books

Free with a 30 day trial from Scribd

See all

Related Audiobooks

Free with a 30 day trial from Scribd

See all

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

×