1 unstable release
0.1.0 | Jul 17, 2024 |
---|
#9 in #uniform-resource
13KB
164 lines
curieosa
A crate for parsing Internationalized Resource Identifiers (IRIs) into Compact Uniform Resource Identifiers (CURIEs).
Add the following into your Cargo.toml
file to use curieosa
in your code:
curieosa = "0.1.0"
CREDIT
The curieosa
is heavily inspired by the curie-util library
written by Chris Mungall in Java.
The Rust port is intentionally very similar to the Java library, to simplify its usage.
Examples
Get an implementation of CurieUtil
backed by a trie with default prefix -> expansion mappings.
use curieosa::{TrieCurieUtil, CurieUtil, CurieParts};
let cu = TrieCurieUtil::default();
// Get curie parts from an IRI
let iri = "http://purl.obolibrary.org/obo/HP_0001250";
let cp: CurieParts<'_, '_> = cu.get_curie_data(iri).unwrap();
assert_eq!(cp.get_prefix(), "HP");
assert_eq!(cp.get_id(), "0001250");
Run tests
Run all tests by running:
cargo test
Run benches
We use criterion
to benchmark IRI parsing.
Run the following to run the bench suite:
cargo bench
Dependencies
~2.5MB
~29K SLoC