1.0.1 • Public • Published


This is a proposal for a method to define linear and nonlinear narrative 'trails' of content using the Web Annotation Data Model. The goal is to permit a 'Memex-like' application where users 'bookmark' content in a local database which provides a searchable index and UI allowing Entries to be combined into Collections, which in turn can be referenced in each Step of a greater narrative Trail. The elements of this model should be sufficiently decoupled as to allow remixing Entries and Collections into other narrative Trails. The model makes use of 'meta-annotations' (annotations targeting annotations) to create the proposed structures.


Elements contained within a dotted element outline are targets of the containing element.

This example shows:


A client application would display these linked elements using whatever layout/navigation strategy it sees fit. One example of a layout strategy might be to show each Step in a Trail as a slide in a slide presentation. The contents of each slide would be dereferenced from the Collection specified in the Step's body. Collections serve as a means to show one or more Entries per narrative Step. Each Step targets 0 or more subsequent Steps. These might be used to provide navigation to the next slide, or slides in the case of a nonlinear/branching presentation. Collections and Steps can both make use of Lists or Composites to specify whether their respective targets should be displayed in a particular order.


It is possible to store these JSON-LD annotations in a peer-to-peer content-addressable network such as Mediachain or IPFS. To do so, the @id property must be excluded as per this discussion. Content IRIs can take the form fs:/mc/QmContent ('mc' for the mediachain p2p network) or fs:/ipfs/QmContent/ ('ipfs' for the ipfs p2p network). Once IPLD is implemented hashes will be equivalent for both networks.


  • Would an mx:layoutStrategy property be useful to give consuming clients a hint as to how to best present a Trail?
  • What is the correct syntax for a dc:description with multiple languages?




DownloadsWeekly Downloads






Last publish


  • edsilv-admin