Это новая бэкэндская реализация системы лингвистического поиска и визуализации Annis (http://corpus-tools.org/annis/).
Поддерживается только подзадача языка запросов ANNIS (AQL) от ANNIS версии 3 (на основе PostgreSQL). В будущем можно добавить больше операторов, но те, которые отсутствуют, являются теми, которые использовались реже. В Руководстве по разработчике есть учебник о том, как встраивать Graphannis в ваше собственное приложение.
Основные идеи дизайна и модели данных подробно описаны в докторантуре «Анни: система запросов на основе графика для глубоко аннотированных текстовых корпораций». Тезис описывает реализацию прототипа в C ++, а не ржавчину, но идеи дизайна одинаковы. Примечательные различия/усовершенствования по сравнению с тезисом:
Вам нужно установить ржавчину, чтобы скомпилировать проект. Мы рекомендуем установить следующие грузовые подкоманды для разработки Annis-Web:
Вы можете запустить тесты с помощью команды cargo test по умолчанию. Для расчета покрытия кода вы можете использовать cargo-llvm-cov :
cargo llvm-cov --open --all-features --ignore-filename-regex ' (tests?.rs)|(capi/.*) ' Вам нужно установить cargo-release для выпуска. Один раз выполните команду Follwing cargo , чтобы установить ее.
cargo install cargo-releaseЧтобы выполнить релиз, переключитесь на основную ветвь и выполните:
cargo release [LEVEL] --execute Уровень должен быть patch , minor или major в зависимости от изменений, внесенных в релиз. Запуск команды выпуска также запустит рабочий процесс CI для создания двоичных файлов выпуска на GitHub.
Это программное обеспечение зависит от нескольких сторонних библиотек. Они задокументированы в файле «Сторонние licensens.html» в этой папке.