public final Builder addRule(final String id, @Nullable final String head,
@Nullable final String body, @Nullable final Namespaces namespaces,
@Nullable final Map<BindingSet, Iterable<BindingSet>> mappings) {
try {
final TupleExpr headExpr = head == null ? null : Algebra.parseTupleExpr(head,
null, namespaces.uriMap());
final TupleExpr bodyExpr = body == null ? null : Algebra.parseTupleExpr(body,
null, namespaces.uriMap());
addRule(id, headExpr, bodyExpr);
return this;
} catch (final MalformedQueryException ex) {
throw new IllegalArgumentException(ex);
}
}