.getWhereClause(); final JoinGroupNode newWhereClause = new JoinGroupNode(); newWhereClause.addArg(includeOp); final JoinGroupNode minusOp = new JoinGroupNode(); minusOp.setMinus(true); newWhereClause.addArg(minusOp); minusOp.addArg(oldWhereClause.clone());
/** * Construct a GRAPH group having the specified child as its initial member. * * @param context * The variable or constant for the GRAPH group. * @param child * The initial child. */ public JoinGroupNode(final TermNode context, final IGroupMemberNode child) { super(); setContext(context); addChild(child); }
/** * Construct a possibly optional group having the specified child as its * initial member. * * @param optional * <code>true</code> iff the group is optional. * @param child * The initial child. */ public JoinGroupNode(final boolean optional, final IGroupMemberNode child) { super(); setOptional(optional); addChild(child); }
expected.setProjection(projection); final JoinGroupNode whereClause = new JoinGroupNode(); expected.setWhereClause(whereClause); whereClause.addChild(new StatementPatternNode(new VarNode("s"), new VarNode("p"), new VarNode("o"), null/* c */, Scope.DEFAULT_CONTEXTS)); final JoinGroupNode groupNode = new JoinGroupNode(); groupNode.addChild(new StatementPatternNode(new VarNode("s"), new VarNode("p"), new VarNode("o"), null/* c */, Scope.DEFAULT_CONTEXTS)); whereClause.addArg(serviceNode);
expected.setProjection(projection); final JoinGroupNode whereClause = new JoinGroupNode(); expected.setWhereClause(whereClause); final JoinGroupNode graphGroup = new JoinGroupNode(); whereClause.addChild(graphGroup); graphGroup.setContext(new VarNode("src")); graphGroup.addChild(new StatementPatternNode(new VarNode("s"), new VarNode("p"), new VarNode("o"), new VarNode("src"), Scope.NAMED_CONTEXTS));
expected.setProjection(projection); final JoinGroupNode whereClause = new JoinGroupNode(); expected.setWhereClause(whereClause); whereClause.addChild(new StatementPatternNode(new VarNode("s"), new VarNode("p"), new VarNode("o"), null/* c */, Scope.DEFAULT_CONTEXTS)); final JoinGroupNode joinGroup = new JoinGroupNode(); joinGroup.setMinus(true); joinGroup.addChild(new StatementPatternNode(new VarNode("o"), new VarNode("p2"), new VarNode("s"), null/* c */, Scope.DEFAULT_CONTEXTS)); whereClause.addChild(joinGroup);
final JoinGroupNode joinGroup = new JoinGroupNode(); joinGroup.setOptional(true); joinGroup.addChild((SubqueryRoot) tmp);
/** * @param queryBase * @param group * @param searchVar * @param statementPatterns * @return */ private ServiceNode createServiceNode(final AST2BOpContext ctx, final QueryBase queryBase, final GroupNodeBase<IGroupMemberNode> group, IVariable<?> searchVar, final Map<URI, StatementPatternNode> statementPatterns) { final JoinGroupNode groupNode = new JoinGroupNode(); for(StatementPatternNode sp : statementPatterns.values()) { groupNode.addChild(sp); } @SuppressWarnings("unchecked") final TermId<BigdataURI> iv = (TermId<BigdataURI>) TermId .mockIV(VTE.URI); iv.setValue(ctx.db.getValueFactory().asValue(searchPredicate)); return new ServiceNode(new ConstantNode(iv), groupNode); }
!((JoinGroupNode) op).isOptional() && !((JoinGroupNode) op).isMinus() && parent != null && parent instanceof JoinGroupNode) { int pos = parentJoinGroup.indexOf(thisJoinGroup); new LinkedList<IGroupMemberNode>(thisJoinGroup.getChildren()); thisJoinGroup.removeChild(child); parentJoinGroup.addArg(pos++, child); parentJoinGroup.removeChild(thisJoinGroup);
new JoinGroupNode()).get(0); group.setMinus(true);
groupNode.addChild(new JoinGroupNode(child)); final JoinGroupNode newGroup = new JoinGroupNode(); .get(0); newGroup.setContext(context);
new StaticAnalysis(new QueryRoot(QueryType.SELECT), null); assertEquals(requiredBound, jgn.getRequiredBound(sa)); assertEquals(desiredBound, jgn.getDesiredBound(sa));
/** * Wrap the arguments in a {@link JoinGroupNode} and apply any * inter-mixed {@link HelperFlag}s. * * @param statements * The arguments (group group members or {@link HelperFlag}s) * * @return The {@link JoinGroupNode}. */ protected JoinGroupNode joinGroupNode(final Object... statements) { return initGraphPatternGroup(new JoinGroupNode(), statements); }
final IGroupMemberNode n3 = joinGroupWithVars("x2","x4"); final JoinGroupNode n4 = joinGroupWithVars("x5"); n4.setOptional(true); final IGroupMemberNode n5 = joinGroupWithVars("x2","x6"); final SubqueryRoot n6 = subqueryWithVars("x5","x1"); final JoinGroupNode n7 = joinGroupWithVars("x3","x4"); n7.setMinus(true); final IGroupMemberNode n8 = serviceSparql11WithConstant("x7","x1"); final IGroupMemberNode n9 = unionWithVars("x2","x3");
final List<IReorderableNode> nodes = joinGroup.getReorderableChildren(); for (int i = 0; i < joinGroup.arity() && j < nodes.size(); i++) { if (joinGroup.get(i) == nodes.get(j)) { final double optimistic = joinGroup.getProperty( Annotations.OPTIMISTIC, Annotations.DEFAULT_OPTIMISTIC); joinGroup.setArg(slots[i++], sp); joinGroup.setArg(slots[i++], runLast);
public JoinGroupNode(final boolean optional) { super(); setOptional(optional); }
/** * Return only the statement pattern child nodes in this group. */ public List<StatementPatternNode> getStatementPatterns() { return getChildren(StatementPatternNode.class); }
/** * Return a graph join group. * * @param context * The graph (named graph variable or IRI). * @param statements * The children (including any optional {@link HelperFlag}s). * * @return The group join group node. */ protected JoinGroupNode joinGroupNode(final TermNode context, final Object... statements) { final JoinGroupNode rslt = joinGroupNode(statements); rslt.setContext(context); return rslt; }
/** * Construct a non-optional join group having the specified child as its * initial member. */ public JoinGroupNode(final IGroupMemberNode child) { super(); addChild(child); }