Annotation editors

PubAnnotation is a REST service of text annotations. From its perspective, an annotation editor is a REST client which

  • takes annotations in PubAnnotation (using the GET method),
  • makes some changes to the annotations,
  • and stores back the changed annotations to PubAnnotation (using the POST method).

For example, note that the annotations made to the document, PubMed:123456 by a project your-project, can be access at the URL: https://pubannotation.org/projects/your-project/docs/sourcedb/PubMed/sourceid/123456/annotations.json.

An annotation editor to edit the annotations will then

  • ‘get’ the annotations from the URL, and
  • ‘post’ the annotations to the same URL after edition.

One can simply use the standard unix/linux commands, cURL and vi, to simulate the IO:

  1. curl the-URL-of-annotations > annotations.json
  2. vi annotations.json (to make a change to the file)
  3. curl -H “content-type:application/json” -u “username:password” -d @annotations.json the-URL-of-annotations

For an editor to be compatible with PubAnnotation, besides the API, it also needs to understand the PubAnnotation JSON format.

TextAE is a web-based graphcial annotation editor, which meets the specification.