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.1"CREDIT
curieosa is heavily inspired by the curie-util library
written by Chris Mungall in Java.
This Rust port is intentionally very similar to the Java library, to simplify its usage.
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 all tests by running:
cargo testWe use criterion to benchmark IRI parsing.
Run the following to run the bench suite:
cargo bench