Esta é uma nova implementação de back-end do sistema de busca e visualização de Annis (http://corpus-tools.org/annis/).
Apenas um subconjunto do Annis Query Language (AQL) da Annis versão 3 (baseado no PostgreSQL) ainda é suportado. Mais operadores podem ser adicionados no futuro, mas os que faltavam são os que foram usados menos frequentes. Há um tutorial no guia do desenvolvedor sobre como incorporar graphannis em seu próprio aplicativo.
As idéias básicas de design e os modelos de dados são descritos em detalhes na tese de doutorado "Annis: um sistema de consulta baseado em gráfico para corpora de texto profundamente anotada". A tese descreve uma implementação de protótipo no C ++ e não na ferrugem, mas as idéias de design são as mesmas. Diferenças/aprimoramentos notáveis em comparação com a tese são:
Você precisa instalar o Rust para compilar o projeto. Recomendamos a instalação dos seguintes subcomandos de carga para o desenvolvimento de Annis-Web:
Você pode executar os testes com o comando cargo test padrão. Para calcular a cobertura do código, você pode usar cargo-llvm-cov :
cargo llvm-cov --open --all-features --ignore-filename-regex ' (tests?.rs)|(capi/.*) ' Você precisa ter cargo-release instalada para executar uma liberação. Execute o comando Follwing cargo uma vez para instalá -lo.
cargo install cargo-releasePara executar uma versão, mude para a filial principal e execute:
cargo release [LEVEL] --execute O nível deve ser patch , minor ou major dependendo das alterações feitas na liberação. A execução do comando de liberação também acionará um fluxo de trabalho do CI para criar binários de liberação no GitHub.
Este software depende de várias bibliotecas de terceiros. Estes estão documentados no arquivo "Terceiros partidários.html" nesta pasta.