Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

curieosa

crates.io https://github.com/ielis/curieosa/actions/workflows/ci.yml

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.

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

About

Crate for parsing IRIs

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages