Il s'agit d'une nouvelle implémentation backend du système de recherche et de visualisation linguistique Annis (http://corpus-tools.org/annis/).
Seul un sous-ensemble du langage de requête Annis (AQL) d'Annis version 3 (basé sur PostgreSQL) est encore pris en charge. Plus d'opérateurs peuvent être ajoutés à l'avenir, mais ceux qui manquent sont ceux qui ont été utilisés moins fréquents. Il y a un tutoriel dans le Guide du développeur sur la façon d'intégrer des graphannis dans votre propre application.
Les idées de conception de base et les modèles de données sont décrits en détail dans la thèse de doctorat "Annis: un système de requête basé sur des graphiques pour les corpus de texte annotés profondément". La thèse décrit une implémentation prototype en C ++ et non sur la rouille, mais les idées de conception sont les mêmes. Les différences / améliorations notables par rapport à la thèse sont:
Vous devez installer Rust pour compiler le projet. Nous vous recommandons d'installer les sous-commandes de cargaison suivantes pour développer Annis-Web:
Vous pouvez exécuter les tests avec la commande cargo test par défaut. Pour calculer la couverture du code, vous pouvez utiliser cargo-llvm-cov :
cargo llvm-cov --open --all-features --ignore-filename-regex ' (tests?.rs)|(capi/.*) ' Vous devez faire installer cargo-release pour effectuer une version. Exécutez la commande cargo Follwing une fois pour l'installer.
cargo install cargo-releasePour effectuer une version, passez à la branche principale et exécutez:
cargo release [LEVEL] --execute Le niveau doit être patch , minor ou major en fonction des modifications apportées dans le communiqué. L'exécution de la commande de version déclenchera également un flux de travail CI pour créer des binaires de libération sur github.
Ce logiciel dépend de plusieurs bibliothèques tierces. Ceux-ci sont documentés dans le fichier "tiers-licences.html" dans ce dossier.