public SparqlSelectFunction<T> addInitialBinding(String varName, RDFNode value) { if (this.initialBinding == null) { this.initialBinding = new QuerySolutionMap(); } this.initialBinding.add(varName, value); return this; }
@Test public void testInitialBindings0() { QuerySolutionMap smap1 = new QuerySolutionMap() ; QuerySolutionMap smap2 = new QuerySolutionMap() ; smap1.add("o", m.createLiteral("y1")); smap2.addAll(smap1) ; assertTrue(smap2.contains("o")) ; smap2.clear() ; assertFalse(smap2.contains("o")) ; assertTrue(smap1.contains("o")) ; QuerySolutionMap smap3 = new QuerySolutionMap() ; smap2.addAll((QuerySolution)smap1) ; assertTrue(smap2.contains("o")) ; }
String q = "select * where {?s ?p \"foo\"}"; QuerySolutionMap qsm = new QuerySolutionMap(); qsm.bind( "p", DC.creator ); Query query = QueryFactory.create( q ); QueryExecution exec = QueryExecutionFactory.create( query, model, qsm ); ResultSet rs = exec.execSelect();
@Override public String toString() { String tmp = "" ; String sep = "" ; for ( Iterator<String> iter = varNames() ; iter.hasNext() ; ) { String varName = iter.next() ; RDFNode n = _get(varName) ; String nStr = FmtUtils.stringForRDFNode(n) ; tmp = tmp+sep+"( ?"+varName+", "+nStr+" )" ; } return tmp ; } }
private static QuerySolutionMap querySolution(String varName, RDFNode value) { QuerySolutionMap qsm = new QuerySolutionMap() ; querySolution(qsm, varName, value) ; return qsm ; }
@Override public void executeConstraint(Constraint constraint, ValidationEngine engine, List<RDFNode> focusNodes) { QuerySolutionMap bindings = new QuerySolutionMap(); addBindings(constraint, bindings); bindings.add(SH.currentShapeVar.getVarName(), constraint.getShapeResource()); bindings.add(SH.shapesGraphVar.getVarName(), ResourceFactory.createResource(engine.getShapesGraphURI().toString())); bindings.add(SH.PATHVar.getName(), path); Resource messageHolder = getSPARQLExecutable(constraint); for(RDFNode focusNode : focusNodes) { bindings.add(SH.thisVar.getVarName(), focusNode); // Overwrite any previous binding QueryExecution qexec = SPARQLSubstitutions.createQueryExecution(query, engine.getDataset(), bindings); executeSelectQuery(engine, constraint, messageHolder, nestedResults, focusNode, qexec, bindings); long duration = endTime - startTime; String label = getLabel(constraint); Iterator<String> varNames = bindings.varNames(); if(varNames.hasNext()) { queryString += "\nBindings:"; while(varNames.hasNext()) { String varName = varNames.next(); queryString += "\n- ?" + varName + ": " + bindings.get(varName);
@Test public void testInitialBindingsConstruct1() { try(QueryExecution qExec = makeQExec("CONSTRUCT {?s ?p ?z} {?s ?p 'x1'}")) { QuerySolutionMap init = new QuerySolutionMap() ; init.add("z", m.createLiteral("zzz")); qExec.setInitialBinding(init) ; Model r = qExec.execConstruct() ; assertTrue("Empty model", r.size() > 0 ) ; Property p1 = m.createProperty(ns+"p1") ; assertTrue("Empty model", r.contains(null,p1, init.get("z"))) ; } }
for(Statement s : messageHolder.listProperties(SH.message).toList()) { if(s.getObject().isLiteral()) { QuerySolutionMap map = new QuerySolutionMap(); map.addAll(bindings); if(resultObject != null) { for(Object keyObject : resultObject.keySet()) { Node valueNode = JSFactory.getNode(value); if(valueNode != null) { map.add(key, result.getModel().asRDFNode(valueNode));
public static QuerySolutionMap querySolution(QuerySolutionMap qsm, String varName, RDFNode value) { qsm.add(varName, value) ; return qsm ; }
private void addDefaultMessages(ValidationEngine engine, Resource messageHolder, Resource fallback, Resource result, QuerySolution bindings, QuerySolution solution) { boolean found = false; for(Statement s : messageHolder.listProperties(SH.message).toList()) { if(s.getObject().isLiteral()) { QuerySolutionMap map = new QuerySolutionMap(); map.addAll(bindings); map.addAll(solution); engine.addResultMessage(result, s.getLiteral(), map); found = true; } } if(!found && fallback != null) { addDefaultMessages(engine, fallback, null, result, bindings, solution); } }
public void addBindings(QuerySolutionMap map) { if(parameterValue != null) { SHParameter param = params.get(0); if(!map.contains(param.getVarName())) { map.add(param.getVarName(), parameterValue); } } else { for(SHParameter param : params) { String varName = param.getVarName(); if(!map.contains(varName)) { RDFNode parameterValue = JenaUtil.getProperty(shape.getShapeResource(), param.getPredicate()); if(parameterValue != null) { map.add(varName, parameterValue); } } } } }
/** * Calls a given SPARQL function with no arguments. * * @param function the URI resource of the function to call * @param dataset the Dataset to operate on or null for default * @return the result of the function call */ public static Node invokeFunction0(Resource function, Dataset dataset) { final String expression = "<" + function + ">()"; QuerySolutionMap initialBinding = new QuerySolutionMap(); return invokeExpression(expression, initialBinding, dataset); }
@Override public void executeConstraint(Constraint constraint, ValidationEngine engine, List<RDFNode> focusNodes) { QuerySolutionMap bindings = new QuerySolutionMap(); addBindings(constraint, bindings); bindings.add(SH.currentShapeVar.getVarName(), constraint.getShapeResource()); bindings.add(SH.shapesGraphVar.getVarName(), ResourceFactory.createResource(engine.getShapesGraphURI().toString())); bindings.add(SH.PATHVar.getName(), path); Resource messageHolder = getSPARQLExecutable(constraint); for(RDFNode focusNode : focusNodes) { bindings.add(SH.thisVar.getVarName(), focusNode); // Overwrite any previous binding QueryExecution qexec = SPARQLSubstitutions.createQueryExecution(query, engine.getDataset(), bindings); executeSelectQuery(engine, constraint, messageHolder, nestedResults, focusNode, qexec, bindings); long duration = endTime - startTime; String label = getLabel(constraint); Iterator<String> varNames = bindings.varNames(); if(varNames.hasNext()) { queryString += "\nBindings:"; while(varNames.hasNext()) { String varName = varNames.next(); queryString += "\n- ?" + varName + ": " + bindings.get(varName);
@Test public void testInitialBindingsConstruct2() { try(QueryExecution qExec = makeQExec("CONSTRUCT { ?s ?p ?o } WHERE { ?s ?p ?o }")) { QuerySolutionMap init = new QuerySolutionMap() ; init.add("o", m.createLiteral("x1")); qExec.setInitialBinding(init) ; Model r = qExec.execConstruct() ; assertTrue("Empty model", r.size() > 0 ) ; Property p1 = m.createProperty(ns+"p1") ; assertTrue("Empty model", r.contains(null, p1, init.get("x1"))) ; } }
for(Statement s : messageHolder.listProperties(SH.message).toList()) { if(s.getObject().isLiteral()) { QuerySolutionMap map = new QuerySolutionMap(); map.addAll(bindings); if(resultObject != null) { for(Object keyObject : resultObject.keySet()) { Node valueNode = JSFactory.getNode(value); if(valueNode != null) { map.add(key, result.getModel().asRDFNode(valueNode));
public static QuerySolutionMap querySolution(QuerySolutionMap qsm, String varName, RDFNode value) { qsm.add(varName, value) ; return qsm ; }
private void addDefaultMessages(ValidationEngine engine, Resource messageHolder, Resource fallback, Resource result, QuerySolution bindings, QuerySolution solution) { boolean found = false; for(Statement s : messageHolder.listProperties(SH.message).toList()) { if(s.getObject().isLiteral()) { QuerySolutionMap map = new QuerySolutionMap(); map.addAll(bindings); map.addAll(solution); engine.addResultMessage(result, s.getLiteral(), map); found = true; } } if(!found && fallback != null) { addDefaultMessages(engine, fallback, null, result, bindings, solution); } }
public void addBindings(QuerySolutionMap map) { if(parameterValue != null) { SHParameter param = params.get(0); if(!map.contains(param.getVarName())) { map.add(param.getVarName(), parameterValue); } } else { for(SHParameter param : params) { String varName = param.getVarName(); if(!map.contains(varName)) { RDFNode parameterValue = JenaUtil.getProperty(shape.getShapeResource(), param.getPredicate()); if(parameterValue != null) { map.add(varName, parameterValue); } } } } }
public static Node invokeFunction3(Resource function, RDFNode argument1, RDFNode argument2, RDFNode argument3, Dataset dataset) { final String expression = "<" + function + ">(?arg1, ?arg2, ?arg3)"; QuerySolutionMap initialBinding = new QuerySolutionMap(); initialBinding.add("arg1", argument1); if(argument2 != null) { initialBinding.add("arg2", argument2); } if(argument3 != null) { initialBinding.add("arg3", argument3); } return invokeExpression(expression, initialBinding, dataset); }