#owl #obo #ontology #semantics #file-format #flat-file #obofoundry

fastobo-owl

OBO 文件格式 1.4 中本体语言 OWL 的映射

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 每月下载量

MITLGPL-3.0

94KB
1.5K SLoC

fastobo-owl Star me

OBO 文件格式 1.4 中本体语言 OWL 的映射

Actions Codecov License Source Crate Documentation Changelog GitHub issues DOI

概述

此库为 OBO 格式版本 1.4 的本体语言提供 OBO 到 OWL 映射的实现。它可以用于从任何 OBO 本体生成语义等效的 OWL 本体。

用法

fastobo-owl 添加到 [dependencies] 部分的 Cargo.toml 清单

[dependencies]
fastobo-owl = "0.2.1"

然后使用 IntoOwl 特性将 OboDoc 转换为任何 OWL 本体(输出类型必须实现 DefaultOntologyMutableOntology 特性)。以下是一个如何编写一个简单的脚本,从文件中加载 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