resultOps.add(construct);
}
// 2. ConstructPredicate erstellen
if (generatePredicates) {
final ConstructPredicate generate = new ConstructPredicate();
subOperator.addSucceedingOperator(generate);
generate.addPrecedingOperator(subOperator);
for (final Uniterm term : obj.getHead().getPredicates()) {
if (!((RulePredicate) term).isTriple()) {
final URILiteral name = (URILiteral) term.termName.accept(this, arg);
final List<Item> params = new ArrayList<Item>();
for (final IExpression expr : term.termParams) {
final Item item = (Item) expr.accept(this, arg);
params.add(item);
}
final Item[] paramsArray = params.toArray(new Item[] {});
generate.addPattern(name, paramsArray);
// Produzenten registrieren
this.add(this.tripleProducer, new KeyPredicatePattern(new PredicatePattern(name, paramsArray)), generate);
}
}
resultOps.add(generate);