Esta es una nueva implementación de backend del sistema de búsqueda y visualización lingüística de Annis (http://corpus-tools.org/annis/).
Solo se admite un subconjunto del lenguaje de consulta de Annis (AQL) de Annis versión 3 (basado en PostgreSQL). Se pueden agregar más operadores en el futuro, pero los que faltan son los que se han utilizado menos frecuentes. Hay un tutorial en la Guía de desarrolladores sobre cómo incrustar Graphannis en su propia aplicación.
Las ideas básicas de diseño y los modelos de datos se describen en detalle en el thes de doctorado "Annis: un sistema de consulta basado en gráficos para corpus de texto profundamente anotados". La tesis describe una implementación prototipo en C ++ y no de óxido, pero las ideas de diseño son las mismas. Las diferencias/mejoras notables en comparación con la tesis son:
Debe instalar Rust para compilar el proyecto. Recomendamos instalar los siguientes subcomandos de carga para desarrollar Annis-Web:
Puede ejecutar las pruebas con el comando predeterminado cargo test . Para calcular la cobertura del código, puede usar cargo-llvm-cov :
cargo llvm-cov --open --all-features --ignore-filename-regex ' (tests?.rs)|(capi/.*) ' Debe tener instalado cargo-release para realizar un lanzamiento. Ejecute el comando Follwing cargo una vez para instalarlo.
cargo install cargo-releasePara realizar una versión, cambie a la rama principal y ejecute:
cargo release [LEVEL] --execute El nivel debe ser patch , minor o major dependiendo de los cambios realizados en el lanzamiento. Ejecutar el comando de lanzamiento también activará un flujo de trabajo CI para crear binarios de lanzamiento en GitHub.
Este software depende de varias bibliotecas de terceros. Estos se documentan en el archivo "terceros-licencias.html" en esta carpeta.