Apache Annotator provides annotation enabling code for browsers, servers, and humans.
We‘re currently pre-releasing development copies of each library that makes up the sum total of Apache Annotator’s code. You can grab any of them from our npm organization.
$ # for example... $ npm install --save @annotator/dom
We use Lerna to juggle the various Apache Annotator libraries. If you‘d like to contribute, you’ll need the following:
$ yarn install
$ yarn test
$ yarn start
Once the test server has started, you can browse a local demo, and run tests in a browser by visiting
Many Annotations refer to part of a resource, rather than all of it, as the Target. We call that part of the resource a Segment (of Interest). A Selector is used to describe how to determine the Segment from within the Source resource.
The W3C Web Annotation Data Model outlines a number of different selectors. See table below for full list and status.
|Text Quote||This Selector describes a range of text, including some of the text immediately before (a prefix) and after (a suffix) it to distinguish between multiple copies of the same sequence of characters.||Yes|
|CSS||CSS Selectors allow for a wide variety of well supported ways to describe the path to an element in a web page.||Yes|
|Text Position||This Selector describes a range of text by recording the start and end positions of the selection in the stream.||No|
|Fragment||Uses the fragment part of an IRI defined by the representation's media type.||No|
|XPath||Implements an XPath based selection.||No|
|Data Postion||Similar to the Text Position Selector, the Data Position Selector uses the same properties but works at the byte in bitstream level rather than the character in text level.||No|
|SVG||An SvgSelector defines an area through the use of the Scalable Vector Graphics standard.||No|
|Range||A Range Selector can be used to identify the beginning and the end of the selection by using other Selectors.||Yes|
|Refinement||Select a part of a selection, rather than as a selection of the complete resource.|
If you have any Web Annotation Data Model JSON documents, you can validate them using the
$ yarn validate --url https://raw.githubusercontent.com/w3c/web-annotation-tests/master/tools/samples/correct/anno1.json
--url option you can pass in a URL or a local path to a JSON file.
Apache License 2.0
Apache Rat (Release Audit Tool) is a preferred code license checking tool used by the ASF. The included
.ratignore file contains a list of files to exclude from scans.
To check for included licenses, run the following and view the output report:
java -jar ~/bin/apache-rat-0.13/apache-rat-0.13.jar -E .ratignore -d . > rat_report.txt
Apache Annotator is currently undergoing incubation at The Apache Software Foundation.
See the accompanying DISCLAIMER file for details.