private Var getTypeSubject(final Type type) { //we just need the first pattern since all the patterns in this type map are the same subject final StatementPattern pattern = typeMap.get(type).iterator().next(); return pattern.getSubjectVar(); }
public void meet(StatementPattern node) { subjects.add(node.getSubjectVar()); objects.add(node.getObjectVar()); } });
/** * return the name of the bound variable that should match the query * * @return the name of the variable or null, if no name set */ public String getMatchesVariableName() { if (matchesPattern != null) return matchesPattern.getSubjectVar().getName(); else return null; }
/** * Returns the URI of a subject of a statement pattern. * * @param sp a statement pattern * @return the URI as string, null otherwise */ protected String getSubject(StatementPattern sp) { return getURIString(sp.getSubjectVar()); }
/** * Override this if you are able to determine the cardinality based not * only on the subjectVar itself but also the other vars (e.g. the * predicate value might determine a subject subset). */ protected double getSubjectCardinality(StatementPattern sp) { return getSubjectCardinality(sp.getSubjectVar()); }
public void setGeometryPattern(StatementPattern sp) { if(sp.getSubjectVar().hasValue()) { throw new IllegalArgumentException("Subject cannot be bound: "+sp); } if(!sp.getPredicateVar().hasValue()) { throw new IllegalArgumentException("Predicate must be bound: "+sp); } if(sp.getObjectVar().hasValue()) { throw new IllegalArgumentException("Object cannot be bound: "+sp); } this.geoStatement = sp; }
private boolean isInversePath(final StatementPattern node, final Var start, final Var end) { if (node.getSubjectVar().equals(start)) { Preconditions.checkArgument(node.getObjectVar().equals(end)); return false; } else if (node.getObjectVar().equals(start)) { Preconditions.checkArgument(node.getSubjectVar().equals(end)); return true; } else { fail("Unsupported path expression. Check node: ", node); return false; } }
public void setGeometryPattern(StatementPattern sp) { if(sp.getSubjectVar().hasValue()) { throw new IllegalArgumentException("Subject cannot be bound: "+sp); } if(!sp.getPredicateVar().hasValue()) { throw new IllegalArgumentException("Predicate must be bound: "+sp); } if(sp.getObjectVar().hasValue()) { throw new IllegalArgumentException("Object cannot be bound: "+sp); } this.geoStatement = sp; }
public StatementBindingSetCursor( Iteration<? extends Statement, ? extends QueryEvaluationException> iter, StatementPattern sp, BindingSet bindings) { super(iter); subjVar = sp.getSubjectVar(); predVar = sp.getPredicateVar(); objVar = sp.getObjectVar(); conVar = sp.getContextVar(); this.bindings = bindings; }
private void append(StatementPattern pattern, StringBuilder buffer) { if (pattern == null) return; buffer.append(" "); buffer.append("StatementPattern\n"); append(pattern.getSubjectVar(), buffer); append(pattern.getPredicateVar(), buffer); append(pattern.getObjectVar(), buffer); }
private boolean isInversePath(final StatementPattern node, final Var start, final Var end) { if (node.getSubjectVar().equals(start)) { check(node.getObjectVar().equals(end), "Invalid path expression"); return false; } else if (node.getObjectVar().equals(start)) { check(node.getSubjectVar().equals(end), "Invalid path expression"); return true; } else { fail("Unsupported path expression. Check node: ", node); return false; } }
private VariableOrConstant<String, Value>[] toNative(StatementPattern sp) { // note: assumes tupleSize==3 return new VariableOrConstant[]{ toNative(sp.getSubjectVar()), toNative(sp.getPredicateVar()), toNative(sp.getObjectVar())}; }
String renderPattern(StatementPattern thePattern) throws Exception { return renderValueExpr(thePattern.getSubjectVar()) + " " + renderValueExpr(thePattern.getPredicateVar()) + " " + "" + renderValueExpr(thePattern.getObjectVar()) + ".\n"; } }
private void updateVarMap(HashMultimap<String, StatementPattern> varMap, Set<StatementPattern> bin) { for (StatementPattern sp : bin) { varMap.remove(sp.getSubjectVar().getName(), sp); varMap.remove(sp.getObjectVar().getName(), sp); } removeInvalidBins(varMap, false); }
public Var[] getFields() { return new Var[] { getSparqlPattern().getSubjectVar(), getSparqlPattern().getPredicateVar(), getSparqlPattern().getObjectVar(), getSparqlPattern().getContextVar() }; }
public Model filter(Model model, BindingSet bindings) { Resource subj = (Resource) value(sp.getSubjectVar(), bindings); URI pred = (URI) value(sp.getPredicateVar(), bindings); Value obj = value(sp.getObjectVar(), bindings); Resource[] contexts = contexts(sp, dataset, bindings); if (contexts == null) return new LinkedHashModel(model.getNamespaces()); return model.filter(subj, pred, obj, contexts); }
@Override public boolean equals(Object other) { if (other instanceof StatementPattern) { StatementPattern o = (StatementPattern)other; return subjectVar.equals(o.getSubjectVar()) && predicateVar.equals(o.getPredicateVar()) && objectVar.equals(o.getObjectVar()) && nullEquals(contextVar, o.getContextVar()) && scope.equals(o.getScope()); } return false; }
@Override public void meet(final StatementPattern pattern) { pattern.getSubjectVar().setValue(makeNativeValue(pattern.getSubjectVar().getValue())); pattern.getPredicateVar().setValue(makeNativeValue(pattern.getPredicateVar().getValue())); pattern.getObjectVar().setValue(makeNativeValue(pattern.getObjectVar().getValue())); if (pattern.getContextVar() != null) { pattern.getContextVar().setValue(makeNativeValue(pattern.getContextVar().getValue())); } } }
@Override public void meet(final StatementPattern pattern) { pattern.getSubjectVar().setValue(makeNativeValue(pattern.getSubjectVar().getValue())); pattern.getPredicateVar().setValue(makeNativeValue(pattern.getPredicateVar().getValue())); pattern.getObjectVar().setValue(makeNativeValue(pattern.getObjectVar().getValue())); if (pattern.getContextVar() != null) { pattern.getContextVar().setValue(makeNativeValue(pattern.getContextVar().getValue())); } } }
@Override public StatementPattern clone() { StatementPattern clone = (StatementPattern)super.clone(); clone.setSubjectVar(getSubjectVar().clone()); clone.setPredicateVar(getPredicateVar().clone()); clone.setObjectVar(getObjectVar().clone()); if (getContextVar() != null) { clone.setContextVar(getContextVar().clone()); } return clone; } }