Из документации о правилах и наборах правил (https://docs.marklogic.com/9.0/guide/semantics/inferencing#id_46963) кажется, что они используют как правила SPARQL CONSTRUCT для выполнения вывода с правилами:
Rules ::= RulePrologue Rule*
Rule ::= 'RULE' RuleName 'CONSTRUCT' ConstructTemplate 'WHERE'?
RuleGroupGraphPattern
RuleName ::= String
RuleGroupGraphPattern ::= '{' TriplesBlock? ( ( Filter
RuleGroupGraphPattern ) '.'? TriplesBlock? )* '}'
RulePrologue ::= ( BaseDecl | PrefixDecl | RuleImportDecl )*
RuleImportDecl ::= 'IMPORT' RuleImportLocation
RuleImportLocation ::= String
Или как они предоставляют как пример:
RULE "subClassOf axioms" CONSTRUCT {
rdfs:subClassOf rdfs:domain rdfs:Class .
rdfs:subClassOf rdfs:range rdfs:Class .
} {}