Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

The Annotations API adopted the Web Annotation Data Model (or simply WA) as a base model for exchanging annotations between client applications and the API. It is a W3C recommendation that describes a model and format to share annotations across different platforms.

Please note that, even though we have adopted WA as underlying data model for this API, it is not expected that we support the full extent of the model. We thus advise to look at the EDM Annotations Profile which describes the basics of our implementation and, in particular, the section on Annotation Scenarios for a comprehensive list of the different kinds of annotations that we support.

Basics of the model

In WA, the Web Annotation Data Model an annotation is essentially a reified relation between two or more resources, typically a body and a target, and conveys that the body reflects what is intended to be said about the target. A body can also be absent to describe situations where a target is simply bookmarked. A target can represent a resource or just a part of it that is being annotated.

...

Expand
titleTable of all fields in the Annotation Data Model in JSON-LD

Field

Datatype

Description

@context

String (URL)

The URL of the JSON-LD context. (always with value "http://www.w3.org/ns/anno.jsonld")

id

String (URI)

The identifier of the Annotation. It is automatically generated unless a local identifier is specified upon creation.

type

String

Always has the values of "Annotation".

created

String (DateTime)

The time at which the Annotation was created by the client application. It must be expressed in ISO8601 format and should have a timezone specified.

creator

Object (Agent)

The agent responsible for creating the Annotation. This may be either a human or software agent.

generated

String (DateTime)

The time at which the annotation was sent to the server.

generator

Object (Software)

The agent responsible for generating the Annotation. Typically a client application used to create the annotation.

motivation

String

Expresses the reason why the annotation was created. The value can be either "tagging", "linking" or "transcribing".

body

String or Object (Semantic Resource or Textual Body)

A body conveying what is intended to be said about the target. If the value is provided as a string, then it is interpreted as the URI and must only be used for the semantic tagging scenario. See the application scenarios section for more information.

bodyValue

String

A string conveying the tag text. This field must only be used in combination with "tagging" as motivation and when the language of the tag is not known. Otherwise, it is recommended to use the body field as defined in the Application Scenarios section.

target

String, Media Resource or Array (String)

The URL of the resource that is being annotated, or a specific resource in the case of media annotations. An array of URLs may also be set (mostly used for the object linking).

via

String

The URL of the annotation, if available in an external service.

...

A Semantic Resource is used whenever an external resource needs to be referenced as the body of the annotation. It is mostly used for Semantic Tagging.

Expand
titleTable of all fields specific to the Semantic Resource Class in the Annotation Data Model

Field

Datatype

Description

type

String

Always "SpecificResource".

source

String (URI)

The URI of the resource being referred as body.

language

String (ISO639)

The ISO639 language code corresponding to the language of the resource.

...

A semantic tag is a tag to a resource from a controlled vocabulary, making it machine-interpretable.

Example:

This object in Europeana is somehow related to France (http://sws.geonames.org/2988507).

Requirement:

Any URI is accepted as semantic resource. In the future, it will be limited to a controlled list of acceptable domains.

In the API:

Set the "motivation" to "tagging" and set as body the URI for the semantic resource taken from a contolled vocabulary.

Availability:

Since version 0.2.1.

...

An object link is a relationship between two (Europeana) objects. This relationship can be any.

Example:

This object in Europeana is (in some way) similar to this object.

Requirement:

An object link can only be made between two Europeana objects.

In the API:

Set the "motivation" to "linking" and set as target an array containing the URIs of both objects.

Availability:

Since version 0.2.1.

...

A geo-tag adds a geographical location to an item.

Example:

This object in Europeana was located at latitude 52.081131 and longitude 4.324053. .

In the API:

Set the "motivation" to "tagging" and include the "type", "lat" and "long" attributes in the body as per the example below.

Availability:

Since version 0.2.2.

...

Expand
titleExample: annotating the image of an Europeana item with the transcription page available at Transcribathon.

Example: annotating the image of an Europeana item with the transcription page available at Transcribathon.

Code Block
{
  "motivation": "transcribing",
  "body": {
    "id": "https://europeana.transcribathon.com/eneu/documents/id-20841story/item-235882/?item=39378387",
    "language": "de",
    "format": "text/html"
  },
  "target": {
    "scope": "http://data.europeana.eu/item/2020601743/contributions_20841nhp5sXg",
    "source": 
    "httphttps://www.europeana1914-1918.eu/attachments/2020601/20841.235882.fullglam.uni.wroc.pl/iiif/image-api/RKP_HAASE_371_62468_0001/full/full/0/default.jpg"
  }
}

Getting Started

Access keys

...