macro_rules! dict {
($name:ident = $uri:literal: $(
$(+ $i:ident = $l:literal)?
$(DATAPROP $di:ident = $dl:literal $(<: $( $($dsup:ident)::* ),* )? $(: $($dtp:ident)::* )? $(@ $dcl:literal)? )?
$(OBJPROP $oi:ident = $ol:literal $(<: $( $($osup:ident)::* ),* )? $(( $dom:ident => $range:ident ))? $(- $inv:ident)? $(! $disj:ident)? $(@ $ocl:literal)? )?
$(CLASS $ci:ident = $cl:literal $(<: $( $($csup:ident)::* ),* )? $(= $left:ident u $right:ident)? $(@ $ccl:literal)? )?
$({
$($subj_n:ident)::*
<$($pred_n:ident)::*>
$(<$($obj_n:ident)::*>)?
$(S $obj_str:literal)?
})?
;)*) => { ... };
(@triple $($subj:ident)::*;$($pred:ident)::*;$(NAME $($obj_n:ident)::*)? $(STRING $obj_str:literal)? ) => { ... };
(@tp $i:ident;$($tp:ident)::*) => { ... };
(@subprop $i:ident;$($sup:ident)::*) => { ... };
(@subclass $i:ident;$($sup:ident)::*) => { ... };
(@class $i:ident;) => { ... };
(@comment $i:ident;$c:literal;) => { ... };
(@quad $sub:expr;$pred:expr;$obj:expr) => { ... };
(@final $name:ident = $uri:literal;
$($i:ident = $l:literal,)*;
$($($quad:tt)*;)*
) => { ... };
(@old $name:ident = $uri:literal;
$($i:ident = $l:literal,)*;
$($sub:expr,$pred:expr,$obj:expr;)*
) => { ... };
}
Available on crate feature
rdf
only.