curieosa

Crates.iocurieosa
lib.rscurieosa
version0.1.0
sourcesrc
created_at2024-07-17 07:49:40.075204
updated_at2024-07-17 07:49:40.075204
descriptionParse parsing Internationalized Resource Identifiers (IRIs) into Compact Uniform Resource Identifiers (CURIEs)
homepagehttps://github.com/ielis/curieosa
repositoryhttps://github.com/ielis/curieosa
max_upload_size
id1305951
size37,427
Daniel Danis (ielis)

documentation

README

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
Commit count: 0

cargo fmt