Horned-OWL is a library for processing and manipulating documents written using the Web Ontology Language (OWL).
It extends the existing ecosystem of Rust crates for the Semantic Web and provides tools to interact with OWL ontologies within Rust applications. It leverages the features of Rust to be performant and competitive against other libraries for ontologies manipulation, such as the OWL API. Horned-OWL is aimed at allowing ontologies with millions of terms.
- Supports the OWL 2 language as specified in the W3C Recommendation
- Supports the Semantic Web Rule Language as specified in the W3C User Submission
- Supports serialization/deserialization of the following OWL syntaxes:
- RDF/XML
- OWL/XML
- Functional Syntax
- Manchester Syntax
- Provides a visitor trait to navigate and manipulate ontologies
- Provides traits and implementations for several types of ontologies
We test the performance of our crate in validating large ontologies (e.g. the Gene Ontology) against competing implementations based on the OWL API. Preliminary results are encouraging, showing a potential speedup of 20x-40x.
To use the latest version of the library in your Rust project, add the following line to your Cargo.toml file:
[dependencies]
...
horned-owl = "1.0.0"
A set of command line tools are available as in Horned Bin.
- py-horned-owl: Python bindings for Horned-OWL
- whelk-rs: an implementation of Whelk in Rust