LINNAE-project / SFB-Annotator

This web app is intended for demo purposes only!
https://www.research-software.nl/software/sfb-annotator
Apache License 2.0
1 stars 0 forks source link

Explore the link between annotations and IIIF #23

Closed lisestork closed 3 years ago

arnikz commented 4 years ago

See https://github.com/IIIF/awesome-iiif.

lisestork commented 4 years ago

Tutorial, with IIIF and json (textual annotations, annotation lists). JSON-LD? Annotating with semantics? They mention linking to things (e.g. wikipedia) and using controlled vocabularies to tag annotations.

arnikz commented 4 years ago

Indeed, a very nice tutorial including some workshop materials [1] [2]. They show a (prototype) web app called Mirador, which makes use of Open/Web Annotation Data Model, RDFa/JSON-LD and (local) annotation store but would require further development for our use case(s) and production use.

arnikz commented 4 years ago

I think, we should adhere to the IIIF spec including the architecture. Moreover, the IIIF context includes OA, DC etc. For the simplest example, see the Manifest (v3) of an image. Each file describes how to present a single object such as a book etc. Furthermore, the Annotorius/OpenSeadragon plugin (client-side) now includes support for W3C Web Annotations.

lisestork commented 4 years ago

a mirador example where an image has an sc:AnnotationList for both transcriptions and named entities. They label the lists with "label": "Transcription annotations", and "label": "Named Entity Extraction Annotations").

demo link

Example of transcription and named entity list of annotations:

transcriptions, named entities

Example entity annotation (does not seem to use body?):

    {
        "@id": "https://elucidate.dlcs-ida.org/annotation/w3c/2e76a8d10159fca064c265102c13dfb2/1cc203d8-19ee-4ad3-ac08-3b3537e9569c",
        "@type": "oa:Annotation",
        "dcterms:created": {
            "@type": "xsd:dateTime",
            "@value": "2018-01-05T03:57:54.393Z"
        },
        "resource": [
            {
                "@type": "oa:Tag",
                "format": "text/plain",
                "as:generator": {
                    "@id": "https://omeka.dlcs-ida.org/s/ida/montague/open"
                },
                "chars": "October,"
            },
            {
                "format": "application/html",
                "as:generator": {
                    "@id": "https://omeka.dlcs-ida.org/s/ida/montague/open/nlp/"
                },
                "chars": "<a href=\"https://omeka.dlcs-ida.org/s/ida/page/topics/virtual:date/october%2c\">https://omeka.dlcs-ida.org/s/ida/page/topics/virtual:date/october%2c</a>"
            },
            {
                "as:generator": {
                    "@id": "https://omeka.dlcs-ida.org/s/ida/montague/open"
                },
                "@type": "oa:Tag",
                "chars": "entity:DATE"
            }
        ],
        "on": "https://presley.dlcs-ida.org/iiif/idatest01/_roll_M-1070_46_cvs-932-1132/canvas/c938#xywh=523,1575,166,52",
        "motivation": "oa:tagging"
    },
arnikz commented 4 years ago

In fact, the Annotation examples above do not have target (mandatory) nor body. Instead, check this MANIFEST (v3) in Mirador.

$ curl https://iiif.io/api/cookbook/recipe/0001-mvm-image/manifest.json
{ 
  "@context": "http://iiif.io/api/presentation/3/context.json",
  "id": "https://iiif.io/api/cookbook/recipe/0001-mvm-image/manifest.json",
  "type": "Manifest",
  "label": {
    "en": [
      "Image 1"
    ]
  },
  "items": [
    {
      "id": "https://iiif.io/api/cookbook/recipe/0001-mvm-image/canvas/p1",
      "type": "Canvas",
      "height": 1800,
      "width": 1200,
      "items": [
        {
          "id": "https://iiif.io/api/cookbook/recipe/0001-mvm-image/page/p1/1",
          "type": "AnnotationPage",
          "items": [
            {
              "id": "https://iiif.io/api/cookbook/recipe/0001-mvm-image/annotation/p0001-image",
              "type": "Annotation",
              "motivation": "painting",
              "body": {
                "id": "http://iiif.io/api/presentation/2.1/example/fixtures/resources/page1-full.png",
                "type": "Image",
                "format": "image/png",
                "height": 1800,
                "width": 1200
              },
              "target": "https://iiif.io/api/cookbook/recipe/0001-mvm-image/canvas/p1"
            }
          ]
        }
      ]
    }
  ]
}
arnikz commented 4 years ago

I took the liberty to rename this issue given the rage of topics discussed so far.