@Override public ValueConstant visit(ASTFalse node, Object data) throws VisitorException { return new ValueConstant(valueFactory.createLiteral(false)); }
@Override public ValueConstant visit(ASTTrue node, Object data) throws VisitorException { return new ValueConstant(valueFactory.createLiteral(true)); }
public GroupBuilder<T, E> filter(String theVar, Compare.CompareOp theOp, Value theValue) { Compare aComp = new Compare(new Var(theVar), new ValueConstant(theValue), theOp); mGroup.addFilter(aComp); return this; }
public void visitCreate(Resource query) throws OpenRDFException { Value graph = Statements.singleValue(query, SP.GRAPH_IRI_PROPERTY, store); Create create = new Create(new ValueConstant(graph)); boolean isSilent = Statements.booleanValue(query, SP.SILENT_PROPERTY, store); create.setSilent(isSilent); updateRoot = create; }
@Override public ValueConstant visit(ASTBooleanConstant node, Object data) throws VisitorException { return new ValueConstant(valueFactory.createLiteral(node.getValue())); }
@Override public ValueConstant visit(ASTBNode node, Object data) throws VisitorException { return new ValueConstant(valueFactory.createBNode(node.getID())); }
@Override public void meet(final Var var) { if (var.getName().equals(name) && var.getValue() != null) { result.set(new ValueConstant(var.getValue())); } }
public void visitLoad(Resource query) throws OpenRDFException { Value document = Statements.singleValue(query, SP.DOCUMENT_PROPERTY, store); Value into = Statements.singleValue(query, SP.INTO_PROPERTY, store); Load load = new Load(new ValueConstant(document)); load.setGraph(new ValueConstant(into)); boolean isSilent = Statements.booleanValue(query, SP.SILENT_PROPERTY, store); load.setSilent(isSilent); updateRoot = load; }
@Override public void meet(final Var var) { if (var.getName().equals(name) && var.getValue() != null) { result.set(new ValueConstant(var.getValue())); } }
@Override public ValueConstant visit(ASTURI node, Object data) throws VisitorException { return new ValueConstant(valueFactory.createIRI(node.getValue())); }
public void visitClear(Resource query) throws OpenRDFException { Value graph = Statements.singleValue(query, SP.GRAPH_IRI_PROPERTY, store); Clear clear = new Clear(new ValueConstant(graph)); boolean isSilent = Statements.booleanValue(query, SP.SILENT_PROPERTY, store); clear.setSilent(isSilent); updateRoot = clear; }
private static Compare compare(String theVar, Value theValue, Compare.CompareOp theOp) { return compare(new Var(theVar), new ValueConstant(theValue), theOp); }
@Override public ValueConstant visit(ASTIRI node, Object data) throws VisitorException { IRI uri; try { uri = valueFactory.createIRI(node.getValue()); } catch (IllegalArgumentException e) { // invalid URI throw new VisitorException(e.getMessage()); } return new ValueConstant(uri); }
@Override public ValueConstant visit(ASTNumericLiteral node, Object data) throws VisitorException { Literal literal = valueFactory.createLiteral(node.getValue(), node.getDatatype()); return new ValueConstant(literal); }
@Override public void meet(Var var) { if (!(var.getParentNode() instanceof NAryValueOperator)) { if (!var.isConstant() && hMap.containsKey(var.getName())) { String val = hMap.get(var.getName()); if (val.startsWith("-const-")) { var.replaceWith(new ValueConstant(valMap.get(val))); } else { var.setName(val); } } } }
@Override public void meet(Bound bound) { super.meet(bound); if (bound.getArg().hasValue()) { // variable is always bound bound.replaceWith(new ValueConstant(BooleanLiteral.TRUE)); } }
public static LangMatches langMatches(String theVar, String theLang) { return new LangMatches(new Lang(new Var(theVar)), new ValueConstant( SimpleValueFactory.getInstance().createLiteral(theLang))); }
public GroupBuilder<T, E> regex(ValueExpr theExpr, String thePattern, String theFlags) { Regex aRegex = new Regex(); aRegex.setArg(theExpr); aRegex.setPatternArg(new ValueConstant(SimpleValueFactory.getInstance().createLiteral(thePattern))); if (theFlags != null) { aRegex.setFlagsArg(new ValueConstant(SimpleValueFactory.getInstance().createLiteral(theFlags))); } return filter(aRegex); } }
@Override public void meet(final FunctionCall call) { final URI fnUri = valueFactory.createURI(call.getURI()); final Var resultVar = IndexingFunctionRegistry.getResultVarFromFunctionCall(fnUri, call.getArgs()); if (resultVar != null && resultVar.getName().equals(matchVar)) { addFilter(valueFactory.createURI(call.getURI()), extractArguments(matchVar, call)); if (call.getParentNode() instanceof Filter || call.getParentNode() instanceof And || call.getParentNode() instanceof LeftJoin) { call.replaceWith(new ValueConstant(valueFactory.createLiteral(true))); } else { throw new IllegalArgumentException("Query error: Found " + call + " as part of an expression that is too complex"); } } }
@Override public void meet(final Var var) { final Binding binding = bindings.getBinding(var.getName()); if (binding != null) { if (var.getParentNode() instanceof StatementPattern) { var.setValue(binding.getValue()); var.setName("_const-" + var.getName()); } else { replaceNode(result, var, new ValueConstant(binding.getValue())); } } }