85次发布 (43个稳定版本)
新 3.4.0 | 2024年8月20日 |
---|---|
3.3.3 | 2024年7月12日 |
3.3.1 | 2024年6月4日 |
3.2.1 | 2024年3月25日 |
0.1.0 |
|
#154 在 数据库接口
每月379次下载
在 5 个包中使用
1MB
26K SLoC
graphANNIS
这是ANNIS语言学搜索和可视化系统的一个新的后端实现 (http://corpus-tools.org/annis/).
目前只支持ANNIS查询语言(AQL)的一部分,基于ANNIS 3版本(基于PostgreSQL)。未来可以添加更多操作符,但尚未添加的是使用频率较低的。开发者指南中有一个教程,介绍如何在您的应用程序中嵌入graphANNIS。
基本设计思想和数据模型在博士论文"ANNIS:一个用于深度标注文本语料库的基于图的查询系统"中详细描述。该论文描述了一个基于C++的原型实现,而不是Rust,但设计思想是相同的。与论文相比的显著差异/改进包括
- 图存储实现查询反向边和基于它们的可达节点:这允许实现反向操作符(例如,用于优先级)和在以前不可能的情况下切换操作数。
- 数据模型已简化:已删除左/右最外侧标记组件中的反向覆盖组件和反向边。
- 现在支持额外的查询语言功能。
文档
开发graphANNIS
您需要安装Rust来编译项目。我们建议安装以下Cargo子命令来开发annis-web
- cargo-release 用于创建发布
- cargo-about 用于重新生成第三方许可文件
- cargo-llvm-cov 用于确定代码覆盖率
- cargo-dist 用于配置创建发布二进制的 GitHub Actions
执行测试
您可以使用默认的 cargo test
命令来运行测试。要计算代码覆盖率,可以使用 cargo-llvm-cov
cargo llvm-cov --open --all-features --ignore-filename-regex '(tests?\.rs)|(capi/.*)'
执行发布
您需要安装 cargo-release
才能执行发布。执行以下 cargo
命令一次以安装它。
cargo install cargo-release
要执行发布,切换到主分支并执行
cargo release [LEVEL] --execute
根据发布的更改,级别 应为 patch
、minor
或 major
。运行发布命令还会触发 CI 工作流程,在 GitHub 上创建发布二进制文件。
第三方依赖项
此软件依赖于几个第三方库。这些在当前文件夹的 "third-party-licenses.html" 文件中有文档说明。
语言绑定
- Java: https://github.com/korpling/graphANNIS-java
- Python 3: https://github.com/korpling/graphANNIS-python
- Rust (此存储库)
- C (此存储库)
作者(s)
- Thomas Krause ([email protected])
依赖项
~16–29MB
~424K SLoC