Expand description
§obofoundry.rs 
Structures to deserialize OBO Foundry listings into.
§Usage
Add the obofoundry crate to the Cargo.toml manifest, as well as either
serde_yaml or serde_json:
[dependencies]
obofoundry = "0.11"
serde_yaml = "0.8"Then use the serde framework to load the listings:
ⓘ
extern crate obofoundry;
extern crate serde_yaml;
let yaml_data = include_str!("...");
let foundry: obofoundry::Foundry = serde_yaml::from_str(&yml).unwrap();It’s also possible to use an HTTP library to load the listings from the OBO Foundry
website directly, for instance using ureq:
extern crate obofoundry;
extern crate ureq;
extern crate serde_yaml;
let url = "http://www.obofoundry.org/registry/ontologies.yml";
let res = ureq::get(url).call();
let reader = res.unwrap().into_reader();
let foundry: obofoundry::Foundry = serde_yaml::from_reader(reader).unwrap();§Example
Download the ontologies.yml table from the OBO Foundry and use it to
extract all PURLs to ontologies in the OBO format:
extern crate obofoundry;
extern crate ureq;
extern crate serde_yaml;
use std::io::Read;
const URL: &'static str = "http://www.obofoundry.org/registry/ontologies.yml";
fn main() {
let res = ureq::get(URL).call();
let reader = res.unwrap().into_reader();
let foundry: obofoundry::Foundry = serde_yaml::from_reader(reader).unwrap();
for ontology in &foundry.ontologies {
for product in &ontology.products {
if product.id.ends_with(".obo") {
println!("{} - {}", product.id, product.ontology_purl)
}
}
}
}See the online documentation at docs.rs for more examples.
§Changelog
This project adheres to Semantic Versioning and provides a changelog in the Keep a Changelog format.
§License
This library is provided under the open-source MIT license.
Structs§
- Browser
- A reference to a browser for the ontology.
- Build
- Information about the way an ontology is built.
- Contact
- The corresponding editor of an ontology.
- Dependency
- Reference to a particular dependency.
- Development
- Metadata concerning the development of the ontology.
- Document
- A review document.
- Example
- A reference to an example usage of the ontology.
- Foundry
- An index of ontologies following the OBO Foundry principles.
- Funding
- A funding reference.
- Job
- A CI/CD job pipeline running for the ontology.
- License
- The legal information about an ontology.
- Ontology
- A comprehensive table of informations about an ontology.
- Product
- A released product of an ontology.
- Publication
- A publication relevant to the ontology.
- Redirect
- A redirection to another location.
- Review
- A review for a particular ontology.
- Taxon
- A taxon specifically relevant to the ontology.
- Usage
- A relevant project an ontology is used in.
Enums§
- Activity
Status - The current development status of the ontology development.
- Build
Method - The build method for an ontology build.
- Build
System - The build system for an ontology build.
- JobType
- The type of a job pipeline.
- Usage
Type - The way an ontology can be used in a project.