/** * Optimize the join group. */ @Override protected void optimizeJoinGroup(final AST2BOpContext ctx, final StaticAnalysis sa, final IBindingSet[] bSets, final JoinGroupNode group) { final List<StatementPatternNode> spNodes = group.getStatementPatterns(); if (!spNodes.isEmpty()) { // Always attach the range counts. final int nrExogeneousBindings = bSets==null ? 0 : bSets.length; attachRangeCounts(ctx, spNodes, getExogenousBindings(bSets), nrExogeneousBindings); } }
/** * Optimize the join group. */ @Override protected void optimizeJoinGroup(final AST2BOpContext ctx, final StaticAnalysis sa, final IBindingSet[] bSets, final JoinGroupNode group) { final List<StatementPatternNode> spNodes = group.getStatementPatterns(); if (!spNodes.isEmpty()) { // Always attach the range counts. final int nrExogeneousBindings = bSets==null ? 0 : bSets.length; attachRangeCounts(ctx, spNodes, getExogenousBindings(bSets), nrExogeneousBindings); } }
for (StatementPatternNode sp : subgroup().getStatementPatterns()) { addUsedVar(sp.s(), used); addUsedVar(sp.p(), used);
for (StatementPatternNode sp : subgroup().getStatementPatterns()) { addUsedVar(sp.s(), used); addUsedVar(sp.p(), used);
/** * Return the variables bound by the path - i.e. what this node will * attempt to bind when run. */ public Set<IVariable<?>> getMaybeProducedBindings() { final Set<IVariable<?>> producedBindings = getDefinitelyProducedBindings(); for (StatementPatternNode sp : subgroup().getStatementPatterns()) { addProducedBinding(sp.s(), producedBindings); addProducedBinding(sp.p(), producedBindings); addProducedBinding(sp.o(), producedBindings); addProducedBinding(sp.c(), producedBindings); } return producedBindings; }
/** * Return the variables bound by the path - i.e. what this node will * attempt to bind when run. */ public Set<IVariable<?>> getMaybeProducedBindings() { final Set<IVariable<?>> producedBindings = getDefinitelyProducedBindings(); for (StatementPatternNode sp : subgroup().getStatementPatterns()) { addProducedBinding(sp.s(), producedBindings); addProducedBinding(sp.p(), producedBindings); addProducedBinding(sp.o(), producedBindings); addProducedBinding(sp.c(), producedBindings); } return producedBindings; }
TermNode middle = null; for (StatementPatternNode child : subgroup.getStatementPatterns()) { if (child.getQueryHintAsBoolean(PATH_EXPR, false)) { if (pathExpr != null) {
TermNode middle = null; for (StatementPatternNode child : subgroup.getStatementPatterns()) { if (child.getQueryHintAsBoolean(PATH_EXPR, false)) { if (pathExpr != null) {
assertTrue(whereClause instanceof JoinGroupNode); final List<StatementPatternNode> patterns = ((JoinGroupNode) whereClause).getStatementPatterns(); assertNotNull(patterns); assertEquals(2, patterns.size());
assertTrue(whereClause instanceof JoinGroupNode); final List<StatementPatternNode> patterns = ((JoinGroupNode) whereClause).getStatementPatterns(); assertNotNull(patterns); assertEquals(2, patterns.size());
assertTrue(whereClause instanceof JoinGroupNode); final List<StatementPatternNode> patterns = ((JoinGroupNode) whereClause).getStatementPatterns(); assertNotNull(patterns); assertEquals(1, patterns.size());
assertTrue(whereClause instanceof JoinGroupNode); final List<StatementPatternNode> patterns = ((JoinGroupNode) whereClause).getStatementPatterns(); assertNotNull(patterns); assertEquals(1, patterns.size());
assertTrue(whereClause instanceof JoinGroupNode); final List<StatementPatternNode> patterns = ((JoinGroupNode) whereClause).getStatementPatterns(); assertNotNull(patterns); assertEquals(2, patterns.size());
assertTrue(whereClause instanceof JoinGroupNode); final List<StatementPatternNode> patterns = ((JoinGroupNode) whereClause).getStatementPatterns(); assertNotNull(patterns); assertEquals(1, patterns.size());