use crate::prelude::*;
use lazy_static::lazy_static;
use sophia::api::ns::Namespace;
pub const DEFAULT_ORCID_SCHEMA_URI: &str = "https://orcid.org";
pub const DEFAULT_ARXIV_SCHEMA_URI: &str = "https://arxiv.org";
pub const DEFAULT_DOI_SCHEMA_URI: &str = "https://doi.org";
pub const DATACITE_DOI_DIRECTORY_INDICATOR: &str = "10";
pub const ARXIV_DATACITE_REGISTRANT_CODE: &str = "48550";
pub const ORCID_EXPANDED_SEARCH_SCHEMA_URI: &str = "http://www.orcid.org/ns/expanded-search";
pub const DEFAULT_RAID_SCHEMA_URI: &str = "https://raid.org";
pub const DEFAULT_ROR_SCHEMA_URI: &str = "https://ror.org/";
pub const DATACITE_IDENTIFIER_TYPE_CONTROLLED_VOCABULARY: &[&str; 1] = &["DOI"];
lazy_static! {
pub static ref BIBO: Namespace<&'static str> = Namespace::new_unchecked("http://purl.org/ontology/bibo/");
pub static ref CODEMETA: Namespace<&'static str> = Namespace::new_unchecked("https://codemeta.github.io/terms/");
pub static ref DCAT: Namespace<&'static str> = Namespace::new_unchecked("http://www.w3.org/ns/dcat#");
pub static ref DCTERMS: Namespace<&'static str> = Namespace::new_unchecked("http://purl.org/dc/terms/");
pub static ref FOAF: Namespace<&'static str> = Namespace::new_unchecked("http://xmlns.com/foaf/0.1/");
pub static ref ORCID: Namespace<&'static str> = Namespace::new_unchecked("https://orcid.org/");
pub static ref ROR: Namespace<&'static str> = Namespace::new_unchecked("https://ror.org/");
pub static ref SCHEMA_ORG: Namespace<&'static str> = Namespace::new_unchecked("https://schema.org/");
}
pub fn bibo(suffix: &str) -> String {
BIBO.get_unchecked(suffix).to_string()
}
pub fn codemeta(suffix: &str) -> String {
CODEMETA.get_unchecked(suffix).to_string()
}
pub fn dcat(suffix: &str) -> String {
DCAT.get_unchecked(suffix).to_string()
}
pub fn dcterms(suffix: &str) -> String {
DCTERMS.get_unchecked(suffix).to_string()
}
pub fn foaf(suffix: &str) -> String {
FOAF.get_unchecked(suffix).to_string()
}
pub fn schema_org(suffix: &str) -> String {
SCHEMA_ORG.get_unchecked(suffix).to_string()
}