...
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 |
---|
title | Table 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 |
---|
title | Table 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 |
---|
title | 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
...