@Override public void meet(final StatementPattern sp) { if (sp instanceof RangeStatementPattern) { if (_variables.containsKey(sp.getObjectVar())) { ((RangeStatementPattern) sp).setAscending(_variables.get(sp.getObjectVar())); } } } }
public String getSnippetVariableName() { if (snippetPattern != null) return snippetPattern.getObjectVar().getName(); else return null; }
/** * Override this if you are able to determine the cardinality based not * only on the objectVar itself but also the other vars (e.g. the * predicate value might determine an object subset). */ protected double getObjectCardinality(StatementPattern sp) { return getObjectCardinality(sp.getObjectVar()); }
@Override public void meet(final StatementPattern statement) { final Var object = statement.getObjectVar(); if (propertyVars.contains(object)) { if (usedVars.contains(object)) { throw new IllegalArgumentException("Illegal search, variable is used multiple times as object: " + object.getName()); } else { usedVars.add(object); matchStatements.add(statement); } } } }
/** * the type of query, must equal {@link LuceneSailSchema#LUCENE_QUERY}. A * null type is possible, but not valid. * * @return the type of the Query or null, if no type assigned. */ public IRI getQueryType() { if (typePattern != null) return (IRI)typePattern.getObjectVar().getValue(); else return null; }
public void meet(StatementPattern node) { subjects.add(node.getSubjectVar()); objects.add(node.getObjectVar()); } });
public String getPropertyVariableName() { if (propertyPattern != null) return propertyPattern.getObjectVar().getName(); else return null; }
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 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())}; }
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; } }