Skip to content

Instantly share code, notes, and snippets.

@tomcrane
Last active May 9, 2016 11:51
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save tomcrane/f5cab030e31b3b7e88747b1825bbce57 to your computer and use it in GitHub Desktop.
Save tomcrane/f5cab030e31b3b7e88747b1825bbce57 to your computer and use it in GitHub Desktop.
Serendipitous Collection Browsing

Reqt - serendipitous discovery via membership of IIIF collections

(tag-based browsing - this kind of thing: http://iangilman.com/openseadragon/flickr/)

This is not part of the IIIF spec, as it isn't presentation semantics. It would be really useful to add an extra piece of metadata to tell me why a resource is a member of a particular collection.

{
  "@id": "http://wellcomelibrary.org/iiif/b21539054/manifest",
  "@type": "sc:Manifest",
  "label": "The cocktail book : a sideboard manual for gentlemen."
  ...
  "within" : [
    {
      "@id": "http://wellcomelibrary.org/service/collections/topics/Cocktails/",
      "@type": "sc:Collection",
      "label": "Cocktails",
      "xxx" : "yyy" // something that tells my bespoke system that this is a LC Subject Heading
    },
    {
      "@id": "http://wellcomelibrary.org/service/collections/topics/Liquors/",
      "@type": "sc:Collection",
      "label": "Liquors",
      "xxx" : "yyy" // something that tells my bespoke system that this is a LC Subject Heading
    },
    {
      "@id": "http://wellcomelibrary.org/service/collections/authors/12345",
      "@type": "sc:Collection",
      "label": "Knowles, Frederic Lawrence"
      "xxx" : "yyy" // something that tells my bespoke system that this is a collection of the author's works
    }
  ]
}

See IIIF/api#438

This is not the same thing, but is relevant.

Maybe all that is required (this is presentation only) is a further "within" to one of the (presumably limited in number) top level collections, whose URIs would be recognised by a consuming system. My tag browser knows that http://wellcomelibrary.org/service/collections/authors means authors and therefore that

manifest within an-author within authors

...should generate UI that suggests that an-author is the author of manifest

{
  "@id": "http://wellcomelibrary.org/iiif/b21539054/manifest",
  "@type": "sc:Manifest",
  "label": "The cocktail book : a sideboard manual for gentlemen."
  ...
  "within" : [
    {
      "@id": "http://wellcomelibrary.org/service/collections/topics/Cocktails/",
      "@type": "sc:Collection",
      "label": "Cocktails",
      "within" : "http://wellcomelibrary.org/service/collections/topics" 
    },
    {
      "@id": "http://wellcomelibrary.org/service/collections/topics/Liquors/",
      "@type": "sc:Collection",
      "label": "Liquors",
      "within" : "http://wellcomelibrary.org/service/collections/topics" 
    },
    {
      "@id": "http://wellcomelibrary.org/service/collections/authors/12345",
      "@type": "sc:Collection",
      "label": "Knowles, Frederic Lawrence"
      "within" : "http://wellcomelibrary.org/service/collections/authors" 
    }
  ]
}

Maybe that's all I need to drive a tag browser? My system recognises the URIs of the nested within properties, therefore it knows that the first two are topics (subject headings) and the last is the author.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment