graphANNIS

A wrapper around the C API of graphANNIS (version 0.30.0)

License

License

GroupId

GroupId

org.corpus-tools
ArtifactId

ArtifactId

graphannis
Last Version

Last Version

0.30.0
Release Date

Release Date

Type

Type

bundle
Description

Description

graphANNIS
A wrapper around the C API of graphANNIS (version 0.30.0)
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

Dependencies

compile (6)

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

test (5)

Group / Artifact Type Version
junit : junit jar 4.13.1
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.30.0
0.27.1
0.27.0
0.26.0
0.25.0
0.24.0
0.23.0