VariableGenerator variableGenerator) { ImmutableSet<Variable> leftVariables = leftDataNodes.stream() .flatMap(n -> n.getVariables().stream()) .collect(ImmutableCollectors.toSet());
private IQTree transformDataNode(DataNode dn) { ImmutableList<Optional<Variable>> replacementVars = getArgumentReplacement(dn); if (empt(replacementVars)) return dn; FilterNode filter = createFilter(dn.getProjectionAtom(), replacementVars); DataAtom atom = replaceVars(dn.getProjectionAtom(), replacementVars); return iqFactory.createUnaryIQTree( iqFactory.createConstructionNode(dn.getVariables()), iqFactory.createUnaryIQTree( filter, dn.newAtom(atom)) ); }