/** * 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); }
/** * 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); }
/** * 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); }
/** * select * * where { * predicate1 . * optional { predicate2 . } * } */ public void testSimpleOptional() { final GraphPatternGroup<IGroupMemberNode> root = new JoinGroupNode(); root.addChild(sp(1)); final IGroupNode optional = new JoinGroupNode(true); optional.addChild(sp(2)); root.addChild(optional); final QueryRoot query = new QueryRoot(QueryType.SELECT); query.setWhereClause(root); if (log.isInfoEnabled()) log.info("\n"+query.toString()); }
/** * select * * where { * predicate1 . * optional { predicate2 . } * } */ public void testSimpleOptional() { final GraphPatternGroup<IGroupMemberNode> root = new JoinGroupNode(); root.addChild(sp(1)); final IGroupNode optional = new JoinGroupNode(true); optional.addChild(sp(2)); root.addChild(optional); final QueryRoot query = new QueryRoot(QueryType.SELECT); query.setWhereClause(root); if (log.isInfoEnabled()) log.info("\n"+query.toString()); }
/** * Fully construct an arbitrary length path node with all required * annotations. */ public ArbitraryLengthPathNode(final TermNode left, final TermNode right, final VarNode tVarLeft, final VarNode tVarRight, final long lowerBound, final long upperBound) { this(new BOp[] { new JoinGroupNode() }, NV.asMap( new NV(Annotations.LEFT_TERM, left), new NV(Annotations.RIGHT_TERM, right), new NV(Annotations.TRANSITIVITY_VAR_LEFT, tVarLeft), new NV(Annotations.TRANSITIVITY_VAR_RIGHT, tVarRight), new NV(Annotations.DROP_VARS, new ArrayList<VarNode>()), new NV(Annotations.LOWER_BOUND, lowerBound), new NV(Annotations.UPPER_BOUND, upperBound) )); final Set<VarNode> dropVars = new LinkedHashSet<>(); dropVars.add(tVarLeft); dropVars.add(tVarRight); setProperty(Annotations.DROP_VARS, dropVars); }
/** * Fully construct an arbitrary length path node with all required * annotations. */ public ArbitraryLengthPathNode(final TermNode left, final TermNode right, final VarNode tVarLeft, final VarNode tVarRight, final long lowerBound, final long upperBound) { this(new BOp[] { new JoinGroupNode() }, NV.asMap( new NV(Annotations.LEFT_TERM, left), new NV(Annotations.RIGHT_TERM, right), new NV(Annotations.TRANSITIVITY_VAR_LEFT, tVarLeft), new NV(Annotations.TRANSITIVITY_VAR_RIGHT, tVarRight), new NV(Annotations.DROP_VARS, new ArrayList<VarNode>()), new NV(Annotations.LOWER_BOUND, lowerBound), new NV(Annotations.UPPER_BOUND, upperBound) )); final Set<VarNode> dropVars = new LinkedHashSet<>(); dropVars.add(tVarLeft); dropVars.add(tVarRight); setProperty(Annotations.DROP_VARS, dropVars); }
/** * Fully construct an arbitrary length path node with all required * annotations. */ public ArbitraryLengthPathNode(final TermNode left, final TermNode right, final VarNode tVarLeft, final VarNode tVarRight, final PathMod mod) { this(new BOp[] { new JoinGroupNode() }, NV.asMap( new NV(Annotations.LEFT_TERM, left), new NV(Annotations.RIGHT_TERM, right), new NV(Annotations.TRANSITIVITY_VAR_LEFT, tVarLeft), new NV(Annotations.TRANSITIVITY_VAR_RIGHT, tVarRight), new NV(Annotations.LOWER_BOUND, mod == PathMod.ONE_OR_MORE ? 1L : 0L), new NV(Annotations.UPPER_BOUND, mod == PathMod.ZERO_OR_ONE ? 1L : Long.MAX_VALUE) )); final Set<VarNode> dropVars = new LinkedHashSet<>(); dropVars.add(tVarLeft); dropVars.add(tVarRight); setProperty(Annotations.DROP_VARS, dropVars); }
/** * select * * where { * predicate1 . * optional { * predicate2 . * predicate3 . * } * } */ public void testOptionalJoinGroup() { final GraphPatternGroup<IGroupMemberNode> root = new JoinGroupNode(); root.addChild(sp(1)); final IGroupNode optional = new JoinGroupNode(true); optional.addChild(sp(2)); optional.addChild(sp(3)); root.addChild(optional); final QueryRoot query = new QueryRoot(QueryType.SELECT); query.setWhereClause(root); if (log.isInfoEnabled()) log.info("\n"+query.toString()); }
/** * Fully construct an arbitrary length path node with all required * annotations. */ public ArbitraryLengthPathNode(final TermNode left, final TermNode right, final VarNode tVarLeft, final VarNode tVarRight, final PathMod mod) { this(new BOp[] { new JoinGroupNode() }, NV.asMap( new NV(Annotations.LEFT_TERM, left), new NV(Annotations.RIGHT_TERM, right), new NV(Annotations.TRANSITIVITY_VAR_LEFT, tVarLeft), new NV(Annotations.TRANSITIVITY_VAR_RIGHT, tVarRight), new NV(Annotations.LOWER_BOUND, mod == PathMod.ONE_OR_MORE ? 1L : 0L), new NV(Annotations.UPPER_BOUND, mod == PathMod.ZERO_OR_ONE ? 1L : Long.MAX_VALUE) )); final Set<VarNode> dropVars = new LinkedHashSet<>(); dropVars.add(tVarLeft); dropVars.add(tVarRight); setProperty(Annotations.DROP_VARS, dropVars); }
/** * select * * where { * predicate1 . * predicate2 . * filter3 . * } */ public void testSimpleJoin() { final GraphPatternGroup<IGroupMemberNode> root = new JoinGroupNode(); root.addChild(sp(1)); root.addChild(sp(2)); root.addChild(filter(3)); final QueryRoot query = new QueryRoot(QueryType.SELECT); query.setWhereClause(root); if (log.isInfoEnabled()) log.info("\n"+query.toString()); }
/** * select * * where { * predicate1 . * predicate2 . * filter3 . * } */ public void testSimpleJoin() { final GraphPatternGroup<IGroupMemberNode> root = new JoinGroupNode(); root.addChild(sp(1)); root.addChild(sp(2)); root.addChild(filter(3)); final QueryRoot query = new QueryRoot(QueryType.SELECT); query.setWhereClause(root); if (log.isInfoEnabled()) log.info("\n"+query.toString()); }
final JoinGroupNode subgroup = new JoinGroupNode();
final JoinGroupNode subgroup = new JoinGroupNode();
/** * @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); }
/** * @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); }
queryRoot.setWhereClause(new JoinGroupNode());
/** * select * * where { * predicate1 . * optional { predicate2 . } * } */ public void testSimpleOptional() { final GraphPatternGroup<IGroupMemberNode> root = new JoinGroupNode(); root.addChild(sp(1)); final IGroupNode optional = new JoinGroupNode(true); optional.addChild(sp(2)); root.addChild(optional); final QueryRoot query = new QueryRoot(QueryType.SELECT); query.setWhereClause(root); if (log.isInfoEnabled()) log.info("\n"+query.toString()); }
/** * select * * where { * predicate1 . * optional { * predicate2 . * predicate3 . * } * } */ public void testOptionalJoinGroup() { final GraphPatternGroup<IGroupMemberNode> root = new JoinGroupNode(); root.addChild(sp(1)); final IGroupNode optional = new JoinGroupNode(true); optional.addChild(sp(2)); optional.addChild(sp(3)); root.addChild(optional); final QueryRoot query = new QueryRoot(QueryType.SELECT); query.setWhereClause(root); if (log.isInfoEnabled()) log.info("\n"+query.toString()); }
/** * select * * where { * predicate1 . * predicate2 . * filter3 . * } */ public void testSimpleJoin() { final GraphPatternGroup<IGroupMemberNode> root = new JoinGroupNode(); root.addChild(sp(1)); root.addChild(sp(2)); root.addChild(filter(3)); final QueryRoot query = new QueryRoot(QueryType.SELECT); query.setWhereClause(root); if (log.isInfoEnabled()) log.info("\n"+query.toString()); }