/** * Remove any empty (non-GRAPH) groups (normal groups and UNIONs, but not * GRAPH {}). */ static private void removeEmptyChildGroups(final GraphPatternGroup<?> op) { int n = op.arity(); for (int i = 0; i < n; i++) { final BOp child = op.get(i); if (!(child instanceof GroupNodeBase<?>)) continue; if (((GroupNodeBase<?>) child).getContext() != null) { /* * Do not prune GRAPH ?g {} or GRAPH uri {}. Those constructions * have special semantics. */ continue; } if (child.arity() == 0) { // remove an empty child group. op.removeArg(child); // one less child to visit. n--; } } }
final IGroupMemberNode child = (IGroupMemberNode) aGroup.get(i);
/** * Remove any empty (non-GRAPH) groups (normal groups and UNIONs, but not * GRAPH {}). */ static private void removeEmptyChildGroups(final GraphPatternGroup<?> op) { int n = op.arity(); for (int i = 0; i < n; i++) { final BOp child = op.get(i); if (!(child instanceof GroupNodeBase<?>)) continue; if (((GroupNodeBase<?>) child).getContext() != null) { /* * Do not prune GRAPH ?g {} or GRAPH uri {}. Those constructions * have special semantics. */ continue; } if (child.arity() == 0) { // remove an empty child group. op.removeArg(child); // one less child to visit. n--; } } }
final IGroupMemberNode child = (IGroupMemberNode) group.get(i);
private void doRecursiveRewrite(final AST2BOpContext context, final StaticAnalysis sa, final QueryRoot queryRoot, final GraphPatternGroup<IGroupMemberNode> group) { final int arity = group.arity(); for (int i = 0; i < arity; i++) { final BOp child = (BOp) group.get(i); if (child instanceof GraphPatternGroup<?>) { // Recursion into groups. doRecursiveRewrite(context, sa, queryRoot, ((GraphPatternGroup<IGroupMemberNode>) child)); } else if (child instanceof SubqueryRoot) { // Recursion into subqueries. final SubqueryRoot subqueryRoot = (SubqueryRoot) child; doRecursiveRewrite(context, sa, queryRoot, subqueryRoot.getWhereClause()); // rewrite the sub-select doSelectQuery(context, sa, queryRoot, (SubqueryBase) child); } else if (child instanceof ServiceNode) { // Do not rewrite things inside of a SERVICE node. continue; } } }
private void doRecursiveRewrite(final AST2BOpContext context, final StaticAnalysis sa, final GraphPatternGroup<IGroupMemberNode> group) { final int arity = group.arity(); for (int i = 0; i < arity; i++) { final BOp child = (BOp) group.get(i); if (child instanceof GraphPatternGroup<?>) { // Recursion into groups. doRecursiveRewrite(context, sa, ((GraphPatternGroup<IGroupMemberNode>) child)); } else if (child instanceof SubqueryRoot) { // Recursion into subqueries. final SubqueryRoot subqueryRoot = (SubqueryRoot) child; doRecursiveRewrite(context, sa, subqueryRoot.getWhereClause()); // rewrite the sub-select doSelectQuery(context, sa, (SubqueryBase) child); } else if (child instanceof ServiceNode) { // Do not rewrite things inside of a SERVICE node. continue; } } }
private void doRecursiveRewrite(final AST2BOpContext context, final StaticAnalysis sa, final GraphPatternGroup<IGroupMemberNode> group) { final int arity = group.arity(); for (int i = 0; i < arity; i++) { final BOp child = (BOp) group.get(i); if (child instanceof GraphPatternGroup<?>) { // Recursion into groups. doRecursiveRewrite(context, sa, ((GraphPatternGroup<IGroupMemberNode>) child)); } else if (child instanceof SubqueryRoot) { // Recursion into subqueries. final SubqueryRoot subqueryRoot = (SubqueryRoot) child; doRecursiveRewrite(context, sa, subqueryRoot.getWhereClause()); // rewrite the sub-select doSelectQuery(context, sa, (SubqueryBase) child); } else if (child instanceof ServiceNode) { // Do not rewrite things inside of a SERVICE node. continue; } } }
private void doRecursiveRewrite(final AST2BOpContext context, final StaticAnalysis sa, final QueryRoot queryRoot, final GraphPatternGroup<IGroupMemberNode> group) { final int arity = group.arity(); for (int i = 0; i < arity; i++) { final BOp child = (BOp) group.get(i); if (child instanceof GraphPatternGroup<?>) { // Recursion into groups. doRecursiveRewrite(context, sa, queryRoot, ((GraphPatternGroup<IGroupMemberNode>) child)); } else if (child instanceof SubqueryRoot) { // Recursion into subqueries. final SubqueryRoot subqueryRoot = (SubqueryRoot) child; doRecursiveRewrite(context, sa, queryRoot, subqueryRoot.getWhereClause()); // rewrite the sub-select doSelectQuery(context, sa, queryRoot, (SubqueryBase) child); } else if (child instanceof ServiceNode) { // Do not rewrite things inside of a SERVICE node. continue; } } }
final BOp child = (BOp) group.get(i);
final BOp child = (BOp) group.get(i);
final BOp child = op.get(i);
final BOp child = op.get(i);
int ivsCnt = 0; for (int i=0; i<gp.arity(); i++) { BOp bop = gp.get(i); if (bop instanceof StatementPatternNode && bop.get(2) instanceof ConstantNode) { IV<?, ?> x = ((ConstantNode)bop.get(2)).getValueExpression().get();
int ivsCnt = 0; for (int i=0; i<gp.arity(); i++) { BOp bop = gp.get(i); if (bop instanceof StatementPatternNode && bop.get(2) instanceof ConstantNode) { IV<?, ?> x = ((ConstantNode)bop.get(2)).getValueExpression().get();
final BOp lastInGroup = whereClause.get(whereClause.arity()-1);
final BOp lastInGroup = whereClause.get(whereClause.arity()-1);
int ivsCnt = 0; for (int i=0; i<gp.arity(); i++) { BOp bop = gp.get(i); if (bop instanceof StatementPatternNode && bop.get(2) instanceof ConstantNode) { IV<?, ?> x = ((ConstantNode)bop.get(2)).getValueExpression().get();
int ivsCnt = 0; for (int i=0; i<gp.arity(); i++) { BOp bop = gp.get(i); if (bop instanceof StatementPatternNode && bop.get(2) instanceof ConstantNode) { IV<?, ?> x = ((ConstantNode)bop.get(2)).getValueExpression().get();
final BOp lastInGroup = whereClause.get(whereClause.arity()-1);