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.

Ld4 l triannon

905 views

Published on

Linked Data for Libraries talks on Use Case 1.2: tagging scholarly resources

Published in: Technology
  • Be the first to comment

Ld4 l triannon

  1. 1. Use Case 1.2: Tag Scholarly Information Resources to Support Reuse LD 4L W ORK S HOP STA NFORD U NIV E RS ITY FE B RUA RY 23, 2015 Naomi Dushay / ndushay@stanford.edu
  2. 2. “… As a librarian, I would like to tag resources into curated lists … so that I can feed these these lists into subject guides, course reserves, or reference collections. “I'd like these lists to be portable (into Drupal, LibGuides, etc.) and durable. “I'd like these lists/tags to selectively feed back into the discovery environment without having to modify the catalog records.” (shortened …)
  3. 3. Spoiler:
  4. 4. SearchWorks & Triannon Demo
  5. 5. Spoiler:
  6. 6. Requirements: • Create and manage tags/annotations in any client or environment • Retrieve tags/annotations to display in any client • Chosen identifiers, not necessarily catalog ids Need: • A model for annotations • A format to serialize them into • A protocol to transfer the serializations between systems • Storage for tags/annotations • Restful searching for tags/annotations • Implementations! Triannon: Back End Annotation Store
  7. 7. Model: Open Annotation http://www.openannotation.org/spec/core/ http://www.w3.org/TR/annotation-model/ (beta)
  8. 8. Serialization Format: JSON-LD (or turtle or …) { "@context": "http://www.w3.org/ns/oa-context-20130208.json", "@id": "http://triannon.stanford.edu/annotations/123", "@type": "oa:Annotation”, "motivatedBy":"oa:commenting", "hasBody": { "@type": "cnt:ContentAsText", "chars": ”Linked Data is the future", "format": "text/plain" }, "hasTarget": [ "http://searchworks.stanford.edu/view/10594400", "http://worldcat.org/entity/work/id/872987681" ] }
  9. 9. Transfer Protocol: Linked Data Platform • Triples? • Graph Object? • Groups of Triples? “Linked Data Platform (LDP) defines a set of rules for HTTP operations on web resources, some based on RDF, to provide an architecture for read-write Linked Data on the web.” http://www.w3.org/TR/LDP/ https://flic.kr/p/5UNWTt
  10. 10. LDP:
  11. 11. LDP: Reality is More Complex
  12. 12. In Reality ... • Multiple resources to manage, each requires a POST • Binary or external resources with descriptions tricky • Multiple JSON-LD contexts complex (IIIF, OA, ...) Want: • Ease of use/implementation for annotation client • Ability to swap back-end to other LDP system • Integration with Rails environment • Search with Solr (easy) not SPARQL (less easy)
  13. 13. It’s the Graph, Baby!
  14. 14. Triannon
  15. 15. Triannon: Implementation Goals • Rapid Development • Modular • Re-Usable • Deployable • Maintainable
  16. 16. Triannon: Rails Engine Gem REST over HTTP Create POST jsonld, turtle, rdfxml Read GET " Update PUT/PATC H " Delete DELETE (id) Model ActiveRecord ActiveModel LDP View (for apps and developers) jsonld, turtle, rdfxml Controller http://github.com/sul-dlss/triannon
  17. 17. Triannon (Rails engine gem) triple store (in memory) RDF (gems) Triannon Rails App
  18. 18. Triannon Client: Search and Display Triannon (Solr)Client App http://triannon/by_target?url=purl.stanford.edu/bd136jk4522 http://triannon/by_tag?tag=food+sustainability http://triannon/search?q=dragons 'response'=>{'numFound'=>3,'start'=>0,'maxScore'=>1.0,'docs'=>[ { 'id'=>'98206ec8-4def-44b8-b190-648d8224ce1c’, 'anno_jsonld'=>'{"@context":"http://www.w3.org/ns/oa.jsonld","@graph":[{"@id":"_:g700389243 72700","@type":["dctypes:Text","cnt:ContentAsText"], "format":"text/plain”, "chars":”Linked Data is Awesome. Also Dragons”},{"@id":"https://triannon- dev.stanford.edu/annotations/98206ec8-4def-44b8-b190- 648d8224ce1c","@type":"oa:Annotation","hasBody":"_:g70038924372700","hasTarget":"http://purl.stanford. edu/bd136jk4522","motivatedBy":"oa:commenting"}]}', ...}, { 'id'=>'f691b921-6f54-415b-9dfb-0d017f0d8ada', ...
  19. 19. It’s the Graph, Baby!
  20. 20. Triannon Client App ActiveTriples ld4l-open_annotation_rdf triple store (in memory) RDF Triannon Client: Create, Update, Delete Triannon id html form jsonld from RDF::Graph
  21. 21. • User Authentication/Authorization • Broader Types of Annotations • Easy Way to Include Tagged Collections Elsewhere (e.g. research guides in Drupal) • Cross Institutional Data, Searching • Search text of tags and comments with other metadata in SearchWorks • Ordered Lists Remaining Work
  22. 22. • Chris Beer: Fedora 4, LDP for Fedora 4 • Naomi Dushay: Triannon, Solr, SearchWorks • Christopher Jesudurai: SearchWorks UI • Willy Mene: Triannon  LDP • Rob Sanderson: Architecture, Specs, Cat Herding Contributors (Stanford)
  23. 23. Thank You! ndushay@stanford.edu
  24. 24. UC1 Bibliographic & Curation Data: Ontologies Discussion LD4L W ORK S HOP STA NFORD U NIV E RS ITY FE B RUA RY 2 3 Rob Sanderson / azaroth@stanford.edu / @azaroth42
  25. 25. Requirements Refresher • Annotations on digital content • Annotations on abstract "Works" • Ordered lists of "Works" • ... created from Annotations
  26. 26. Open Annotation http://www.openannotation.org/spec/core/ http://www.w3.org/TR/annotation-model/ (beta)
  27. 27. Open Annotation: Comments * *ContentAsText and chars replaced in W3C's FPWD
  28. 28. Open Annotation: Tags
  29. 29. Open Annotation: Semantic Tags * *model changes slightly in W3C's FPWD
  30. 30. Open Annotation: Motivations Motivation Description oa:bookmarking Recording a resource or point of interest oa:classifying Assigning a class to a resource oa:commenting Providing a review or comment oa:describing Describing the resource oa:editing Requesting a change to the resource oa:highlighting Region or span of interest to highlight oa:identifying Assigning an identifier to a resource oa:linking Linking another resource to the target oa:moderating Assignment of value or quality oa:questioning Asking a question about the resource oa:replying Replying to previous statement or question oa:tagging Tagging a resource
  31. 31. Open Annotation: Provenance
  32. 32. OAI-ORE: Sets
  33. 33. OAI-ORE: Proxies
  34. 34. OAI-ORE: Ordering
  35. 35. OAI-ORE: Multiple Orders
  36. 36. Option 2: rdf:List
  37. 37. Option 3: Collections Ontology
  38. 38. Thank You! February 23rd, 2015 azaroth@stanford.edu
  39. 39. JSON-LD Annotation Format { "@context": "http://www.w3.org/ns/oa-context-20130208.json", "@id": "http://www.example.org/annotations/1", "@type": "oa:Annotation”, "motivatedBy":"oa:commenting", "hasBody": { "@type": "cnt:ContentAsText", "chars": "I love this book!", "format": "text/plain" }, "hasTarget": "http://purl.stanford.edu/bd136jk4522" }

×