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: http://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.
- curl the-URL-of-annotations > annotations.json
- vi annotations.json (to make a change to the file)
- 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.