Macro triple

Source
macro_rules! triple {
    (<($sub:expr)> $($tt:tt)*) => { ... };
    (($sub:expr)! $($tt:tt)*) => { ... };
    (@PRED $sub:expr; : $($tt:tt)*) => { ... };
    (@PRED $sub:expr;ulo:$pred:ident $($tt:tt)*) => { ... };
    (@PRED $sub:expr;dc:$pred:ident $($tt:tt)*) => { ... };
    (@PRED $sub:expr;rdfs:$pred:ident $($tt:tt)*) => { ... };
    (@OBJ $sub:expr;$pred:expr; = ($obj:expr) $($tt:tt)*) => { ... };
    (@OBJ $sub:expr;$pred:expr; ulo:$obj:ident $($tt:tt)*) => { ... };
    (@OBJ $sub:expr;$pred:expr; <($obj:expr)> $($tt:tt)*) => { ... };
    (@OBJ $sub:expr;$pred:expr; ($obj:expr)! $($tt:tt)*) => { ... };
    (@MAYBEQUAD $sub:expr;$pred:expr;$obj:expr;) => { ... };
}
Available on crate feature rdf only.