Learn how easy it is to sync an existing GitHub or Google Code repo to a SourceForge project! See Demo



Keith Suderman


These pages are always under construction.

The GrAF Java API consists of a number of modules:
* graf-api Interfaces and exception classes used by the other modules.
* graf-impl Implementation classes for the above interfaces.
* graf-io Classes for reading and writing GrAF headers and standoff annotation files.
* graf-util Utility and helper classes.
* graf-i18n Helper classes for providing internationalization services to the other modules.

The binaries, sources, and Javadoc can be obtained from SourceForge and they are also deployed to the ANC's Maven repositories:

Note: Staring with version 1.2.0-SNAPSHOT GrAF artifacts will be deployed to the ANC Nexus repositories:

Group IdArtifact IdVersionMaven Site

Snapshot versions of the GrAF API will always be deployed to the ANC Maven repository, while release versions will soon be deployed to Maven Central.


Classes in the GrAF API modules use the SLF4J API for all logging functionality. However the GrAF modules only include the slf4j-api module. End users will have to include a SLF4J binding for the logging framework (if any) that they are using (Logback, Log4j, JUL, etc).

Coming Soon

  • GrAF SAG (Simple API for GrAF) Analogous to the SAX API for XML, the SAG API provides a parser and simple handler interface. The SAG API allows users to easily parse GrAF standoff annotation files, including files with overlapping annotation hierarchies.
  • GrAF SAX Adapter Permits GrAF documents and standoff annotation files to be parsed as if the files were XML with inline annotations. Any XML application that uses a SAX parser will be able to parse GrAF documents with the SAX adapter. Note Overlapping annotation hierarchies are not supported with the SAX adapter.
  • GrAF/CS A compact syntax for GrAF standoff annotation files. GrAF/CS uses exactly the same data model as GrAF/XML but without the overhead and redundancy of XML files. Useful for times when large amounts of GrAF data needs to be sent over the wire.
  • GrAF Py A Python API for GrAF headers and standoff annotation files equivalent to the Java API.
  • GrAF NLTK A NLTK corpus reader using the GrAF Py API.