subOperator = minus;
}
// 1. Construct erstellen
if (generateTriples) {
final Construct construct = new Construct();
subOperator.addSucceedingOperator(construct);
construct.addPrecedingOperator(subOperator);
final List<TriplePattern> patterns = new ArrayList<TriplePattern>();
for (final Uniterm term : obj.getHead().getPredicates()) {
if (((RulePredicate) term).isTriple()) {
final TriplePattern pattern = this.unitermToTriplePattern(term);
patterns.add(pattern);
}
}
construct.setTemplates(patterns);
// Fuer jedes Triplepattern in Construct ein Generate fuer Inferenz erstellen
// wird, falls es keinen Consumer gibt, spaeter wieder entfernt
for (final TriplePattern pattern : construct.getTemplates()) {
final Generate generateTriplesOp = new Generate(pattern.getItems());
generateTriplesOp.addPrecedingOperator(subOperator);
subOperator.addSucceedingOperator(new OperatorIDTuple(generateTriplesOp, subOperator.getSucceedingOperators().size()));
generateTriplesOp.addPrecedingOperator(subOperator);
// TripleProduzenten registrieren