protected boolean isUnbound(Var var, BindingSet bindings) { if (var == null) { return false; } else { return bindings.hasBinding(var.getName()) && bindings.getValue(var.getName()) == null; } }
@Override public Binding getBinding(final String bindingName) { return set.getBinding(bindingName); }
private boolean bindingSetsIntersect(BindingSet bs1, BindingSet bs2) { for(String s: bs1.getBindingNames()) { if(bs2.getValue(s) != null && !unAssuredVariables.contains(s)) { return true; } } return false; }
@Override protected boolean accept(BindingSet bindingSet) { Value context = bindingSet.getValue("context"); return bindingSet.getValue("subject") instanceof Resource && bindingSet.getValue("predicate") instanceof IRI && bindingSet.getValue("object") instanceof Value && (context == null || context instanceof Resource); } };
/** * Retrieve a modified queryString into which all bindings of the given argument are replaced with their * value. * * @param queryString * @param bindings * @return the modified queryString */ public static String getGraphQueryString(String queryString, BindingSet bindings) { if (bindings.size() == 0) { return queryString; } String qry = queryString; for (String name : bindings.getBindingNames()) { String replacement = valueToString(bindings.getValue(name)); if (replacement != null) { String pattern = "[\\?\\$]" + name + "(?=\\W)"; // we use Matcher.quoteReplacement to make sure things like newlines // in literal values are preserved qry = qry.replaceAll(pattern, Matcher.quoteReplacement(replacement)); } } return qry; }
@Override public boolean equals(Object o) { if (o instanceof BindingSet) { return ((BindingSet)o).size() == 0; } return false; }
/** * A utility function that helps construct the keys used by {@link KeyValueAggregationStateStore}. * * @param vars - Which variables within the binding set to use for the key's values. (not null) * @param bindingSet - The binding set the key is being constructed from. (not null) * @return A comma delimited list of the binding values, leading with the side. */ private static String makeCommaDelimitedValues(final List<String> vars, final BindingSet bindingSet) { requireNonNull(vars); requireNonNull(bindingSet); // Make a an ordered list of the binding set variables. final List<String> values = new ArrayList<>(); for(final String var : vars) { values.add( bindingSet.hasBinding(var) ? bindingSet.getBinding(var).getValue().toString() : "" ); } // Return a comma delimited list of those values. return Joiner.on(",").join(values); } }
@Override public Set<String> getBindingNames() { return set.getBindingNames(); }
public static Set<String> getCommonVars(final StarQuery query, final BindingSet bs) { final Set<String> starQueryVarNames = Sets.newHashSet(); if(bs == null || bs.size() == 0) { return Sets.newHashSet(); } final Set<String> bindingNames = bs.getBindingNames(); starQueryVarNames.addAll(query.getUnCommonVars()); if(!query.commonVarConstant()) { starQueryVarNames.add(query.getCommonVarName()); } return Sets.intersection(bindingNames, starQueryVarNames); }
private BindingSet removeConstants(BindingSet bs) { QueryBindingSet bSet = new QueryBindingSet(); for (String s : bs.getBindingNames()) { if (!VarNameUtils.isConstant(s)) { bSet.addBinding(bs.getBinding(s)); } } return bSet; }
@Override public boolean contains(String varName) { return bs.hasBinding(varName); }
@Override public Iterator<Binding> iterator() { return set.iterator(); }
@Override protected boolean accept(BindingSet bindingSet) { Value context = bindingSet.getValue("context"); return bindingSet.getValue("subject") instanceof Resource && bindingSet.getValue("predicate") instanceof IRI && bindingSet.getValue("object") instanceof Value && (context == null || context instanceof Resource); } };
public static StarQuery getConstrainedStarQuery(final StarQuery query, final BindingSet bs) { if(bs.size() == 0) { return query; } final Set<String> bindingNames = bs.getBindingNames(); final Set<String> unCommonVarNames = query.getUnCommonVars(); final Set<String> intersectVar = Sets.intersection(bindingNames, unCommonVarNames); if (!query.commonVarConstant()) { final Value v = bs.getValue(query.getCommonVarName()); if (v != null) { query.commonVar.setValue(v); } } for(final String s: intersectVar) { try { query.nodeColumnCond[query.varPos.get(s)] = query.setValue(query.nodeColumnCond[query.varPos.get(s)], bs.getValue(s)); } catch (final RyaTypeResolverException e) { e.printStackTrace(); } } return query; }
@Override public boolean equals(Object o) { if (o instanceof BindingSet) { return ((BindingSet)o).size() == 0; } return false; }
/** * Create a new {@link BindingSet} that only includes the bindings whose names appear within the {@code variableOrder}. * If no binding is found for a variable, then that binding is just omitted from the resulting object. * * @param variableOrder - Defines which bindings will be kept. (not null) * @param bindingSet - Contains the source {@link Binding}s. (not null) * @return A new {@link BindingSet} containing only the specified bindings. */ public static BindingSet keepBindings(final VariableOrder variableOrder, final BindingSet bindingSet) { requireNonNull(variableOrder); requireNonNull(bindingSet); final MapBindingSet result = new MapBindingSet(); for(final String bindingName : variableOrder) { if(bindingSet.hasBinding(bindingName)) { final Binding binding = bindingSet.getBinding(bindingName); result.addBinding(binding); } } return result; } }
@Override public Iterator<String> varNames() { return bs.getBindingNames().iterator(); }
@Override public boolean hasBinding(final String bindingName) { return set.hasBinding(bindingName); }