graphANNIS API

A wrapper around the C API of graphANNIS

License

License

GroupId

GroupId

org.corpus-tools
ArtifactId

ArtifactId

graphannis-api
Last Version

Last Version

0.22.0
Release Date

Release Date

Type

Type

bundle
Description

Description

graphANNIS API
A wrapper around the C API of graphANNIS
Project URL

Project URL

https://github.com/korpling/graphANNIS
Project Organization

Project Organization

Thomas Krause
Source Code Management

Source Code Management

https://github.com/korpling/graphANNIS

Download graphannis-api

Dependencies

compile (5)

Group / Artifact Type Version
org.slf4j : slf4j-api jar 1.7.25
net.java.dev.jna : jna jar 5.3.1
com.fasterxml.jackson.core : jackson-core jar 2.9.9
com.fasterxml.jackson.core : jackson-databind jar 2.9.9.1
com.fasterxml.jackson.module : jackson-module-jaxb-annotations jar 2.9.9

test (5)

Group / Artifact Type Version
junit : junit jar 4.12
org.hamcrest : hamcrest-core jar 1.3
ch.qos.logback : logback-classic jar 1.2.1
com.google.guava : guava jar 27.0.1-jre
org.corpus-tools : salt-api bundle 3.3.6

Project Modules

There are no modules declared in this project.

graphANNIS DOI Automated tests

This is a new backend implementation of the ANNIS linguistic search and visualization system (http://corpus-tools.org/annis/).

While there are test cases, this project is still in a pre-release beta phase. Only a sub-set of the ANNIS Query Langugage (AQL) is supported yet (full support is planned). Integration with ANNIS is currently implemented in the development version and released as a beta version. There is a tutorial in the Developer Guide on how to embedd graphANNIS in your own application.

The basic design ideas and data models are described in detail in the PhD-thesis "ANNIS: A graph-based query system for deeply annotated text corpora". The thesis describes a prototype implementation in C++ and not Rust, but the design ideas are the same. Noteable differences/enhancements compared to the thesis are:

  • Graph storages implement querying inverse edges and finding reachable nodes based on them: this allows to implement inverse operators (e.g. for precedence) and switching operands in situations where it was not possible before.
  • The data model has been simplified: the inverse coverage component and inverse edges in the left-/right-most token component have been removed.
  • Additional query language features are now supported.

How to compile

graphANNIS is written in the Rust programming language (https://www.rust-lang.org). You can install Rust from https://www.rust-lang.org/tools/install. After you have installed Rust, you can can build the complete project with

cargo build --release

Documentation

3rd party dependencies

This software depends on several 3rd party libraries. These are documented in the "third-party-licenses.html" file in this folder.

Language bindings

Author(s)

How to cite

@phdthesis{Krause2019ANNIS:,
author = {Krause, Thomas},
title = {ANNIS: A graph-based query system for deeply annotated text corpora},
school = {Humboldt-Universität zu Berlin, Mathematisch-Naturwissenschaftliche Fakultät},
year = {2019},
doi = {http://dx.doi.org/10.18452/19659}
}
org.corpus-tools

Versions

Version
0.22.0
0.21.0
0.20.0
0.19.4
0.19.2
0.19.1
0.19.0
0.18.1
0.18.0
0.17.2
0.17.1
0.17.0
0.16.0
0.15.0
0.14.2
0.14.1
0.13.0
0.12.0
0.11.1
0.10.0
0.9.0
0.8.1
0.7.1
0.6.0
0.5.0
0.4.0
0.3.0
0.2.0
0.1.0