10 breaking releases

0.14.0 Jan 31, 2023
0.12.0 Jul 3, 2022
0.11.0 Feb 14, 2022
0.10.0 Dec 6, 2021
0.5.0 Oct 26, 2018

#2768 in Parser implementations

Download history 15/week @ 2023-12-18 31/week @ 2024-01-01 28/week @ 2024-02-19 91/week @ 2024-02-26 10/week @ 2024-03-11 2/week @ 2024-03-18 197/week @ 2024-04-01

209 downloads per month
Used in 4 crates

LGPL-3.0

475KB
12K SLoC

Horned OWL

Crates.io docs.rs

Horned-OWL is a library for manipulating data written using the Web Ontology Language (OWL). While there are a number of libraries that manipulate this form of data such as the OWL API, they can be quite slow. Horned-OWL is aimed at allowing ontologies with millions of terms.

The library now implements all of OWL2, and we are working on further parser functionality. We are testing it with real world tasks, such as parsing the Gene Ontology, which is does in 2-3 seconds which is 20-40 times faster than the OWL API.

Library

To use the latest version of the library in your Rust project, add the following line to your Cargo.toml file:

[dependencies]
...
horned-owl = "0.12.0"

Command Line tools

In addition to the Rust library, the project includes the implementations of several command line utilities that exemplify the usage of APIs offered by the horned-owl crate and provide ready-to-use tools.

Building

The tool suite is available as a single binary horned:

cargo build --release --bin horned

or as a collection of standalone binaries, each can be built using:

cargo build --release --bin horned-[TOOLNAME]

Running

To use one of the utilities described below, run

horned [TOOLNAME] <ARGUMENT_LIST>

or

horned-[TOOLNAME] <ARGUMENT_LIST>

using the requested arguments.

Description

Tool Arguments Summary Source file
big n: unsigned integer Generates an OWL file containing n class declarations. source
compare ont-1, ont-2: paths Compares the statistics of ontologies specified in ont-1 and ont-2. source
dump ont: path Parses ont and returns the content of the data structures created by the parser. source
materialize ont: path Parses ont, downloading and resolving all of the ontologies imported by ont. source
parse ont: path Parses ont and exits. source
round ont: path Parses ont and renders the obtained ontology. source
summary ont: path Parses ont and returns statistics related to the obtained ontology. source
triples ont: path Parses ont as an ontology written using the OWL/RDF format and returns the obtained triples. source
unparsed ont: path Parses ont as an ontology written using the OWL/RDF format and shows what has not been successfully parsed. source

Dependencies

~2.8–4MB
~76K SLoC