pub const SWRLB_NS: &str = "http://www.w3.org/2003/11/swrlb#";
pub const SUPPORTED_BUILTINS: &[&str] = &[
"equal",
"notEqual",
"lessThan",
"lessThanOrEqual",
"greaterThan",
"greaterThanOrEqual",
"add",
"subtract",
"multiply",
"divide",
"stringEqualIgnoreCase",
"stringConcat",
"substring",
"stringLength",
"contains",
"startsWith",
"endsWith",
"matches",
"booleanNot",
];
pub fn is_supported_builtin(predicate_iri: &str) -> bool {
let Some(local) = predicate_iri.strip_prefix(SWRLB_NS) else {
return false;
};
SUPPORTED_BUILTINS.contains(&local)
}
#[allow(dead_code)]
pub fn builtin_iri(local: &str) -> String {
format!("{SWRLB_NS}{local}")
}