5 个版本
0.2.1 | 2022年2月23日 |
---|---|
0.2.0 | 2022年2月15日 |
0.1.2 | 2022年1月22日 |
0.1.1 | 2022年1月21日 |
0.1.0 | 2022年1月20日 |
#553 in 科学
37 每月下载量
94KB
1.5K SLoC
fastobo-owl
OBO 文件格式 1.4 中本体语言 OWL 的映射
概述
此库为 OBO 格式版本 1.4 的本体语言提供 OBO 到 OWL 映射的实现。它可以用于从任何 OBO 本体生成语义等效的 OWL 本体。
用法
将 fastobo-owl
添加到 [dependencies]
部分的 Cargo.toml
清单
[dependencies]
fastobo-owl = "0.2.1"
然后使用 IntoOwl
特性将 OboDoc
转换为任何 OWL 本体(输出类型必须实现 Default
、Ontology
和 MutableOntology
特性)。以下是一个如何编写一个简单的脚本,从文件中加载 OBO 文档,将其转换为 OWL,并将其写入另一个文件(OWL/XML 语法)的示例
extern crate fastobo;
extern crate fastobo_owl;
use fastobo_owl::IntoOwl;
// load an OBO ontology from a file
let obo = fastobo::from_file("tests/data/ms.obo").expect("failed to read OBO file");
// extract prefixes from the OBO header, so that they can be used
// to build abbreviated IRIs when serializing the OWL output
// (note: this contains OBO default prefixes such as xsd, rdf, or oboInOwl)
let prefixes = obo.prefixes();
// convert the ontology to OBO (the ontology type is implied by the later
// call to owx::writer::write which expects an `AxiomMappedOntology`)
let owl = obo.into_owl()
.expect("failed to convert OBO to OWL");
// write the OWL ontology with abbreviated IRIs
let mut output = std::fs::File::create("tests/data/ms.owx").unwrap();
horned_owl::io::owx::writer::write(&mut output, &owl, Some(&prefixes));
另请参阅
fastobo-syntax
:OBO 格式版本 1.4 的独立pest
解析器。fastobo
:OBO 格式版本 1.4 的抽象语法树和数据结构。fastobo-py
:到fastobo
包的惯用 Python 绑定。fastobo-graphs
:OBO 图规范的数据模型和serde
实现,具有从和到 OBO 的转换特性。fastobo-validator
:独立的命令行界面,用于验证OBO文件是否符合规范。
反馈
发现了一个错误?有一个增强请求?如果您需要报告或询问,请访问项目的GitHub问题跟踪器。如果您正在提交错误,请尽可能提供有关问题的详细信息,并尝试在简单、易于重现的情况下重现相同的错误。
关于
该项目由Martin Larralde开发,作为BBOP团队在劳伦斯伯克利国家实验室的硕士实习项目的一部分,在Chris Mungall的指导下完成。引用此项目如下:
Larralde M. 开发Python和Rust库以改进本体生态系统 [版本1;未经同行评审]。 F1000Research 2019,8(ISCB Comm J):1500(海报)(https://doi.org/10.7490/f1000research.1117405.1)
依赖关系
~8.5MB
~155K SLoC