/** * 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 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()); }
/** * 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; }
@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); } } } }
/** * Gets the set of variables that are relevant for the constructor. This method accumulates all subject, * predicate and object variables from the supplied statement patterns, but ignores any context variables. */ private Set<Var> getConstructVars(Collection<StatementPattern> statementPatterns) { Set<Var> vars = new LinkedHashSet<Var>(statementPatterns.size() * 2); for (StatementPattern sp : statementPatterns) { vars.add(sp.getSubjectVar()); vars.add(sp.getPredicateVar()); vars.add(sp.getObjectVar()); } return vars; }
/** * Gets the set of variables that are relevant for the constructor. This method accumulates all subject, * predicate and object variables from the supplied statement patterns, but ignores any context variables. */ private Set<Var> getConstructVars(Collection<StatementPattern> statementPatterns) { Set<Var> vars = new LinkedHashSet<Var>(statementPatterns.size() * 2); for (StatementPattern sp : statementPatterns) { vars.add(sp.getSubjectVar()); vars.add(sp.getPredicateVar()); vars.add(sp.getObjectVar()); } return vars; }
/** * Gets the set of variables that are relevant for the constructor. This method accumulates all subject, * predicate and object variables from the supplied statement patterns, but ignores any context variables. */ private Set<Var> getConstructVars(Collection<StatementPattern> statementPatterns) { Set<Var> vars = new LinkedHashSet<>(statementPatterns.size() * 2); for (StatementPattern sp : statementPatterns) { vars.add(sp.getSubjectVar()); vars.add(sp.getPredicateVar()); vars.add(sp.getObjectVar()); } return vars; }
private Set<Var> getProjectionVars(Collection<StatementPattern> statementPatterns) { Set<Var> vars = new LinkedHashSet<>(statementPatterns.size() * 2); for (StatementPattern sp : statementPatterns) { vars.add(sp.getSubjectVar()); vars.add(sp.getPredicateVar()); vars.add(sp.getObjectVar()); if (sp.getContextVar() != null) { vars.add(sp.getContextVar()); } } return vars; } }
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 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); }
String renderPattern(StatementPattern thePattern) throws Exception { return renderValueExpr(thePattern.getSubjectVar()) + " " + renderValueExpr(thePattern.getPredicateVar()) + " " + "" + renderValueExpr(thePattern.getObjectVar()) + ".\n"; } }
String renderPattern(StatementPattern thePattern) throws Exception { return renderValueExpr(thePattern.getSubjectVar()) + " " + renderValueExpr(thePattern.getPredicateVar()) + " " + "" + renderValueExpr(thePattern.getObjectVar()) + ".\n"; } }
String renderPattern(StatementPattern thePattern) throws Exception { return renderValueExpr(thePattern.getSubjectVar()) + " " + renderValueExpr(thePattern.getPredicateVar()) + " " + "" + renderValueExpr(thePattern.getObjectVar()) + ".\n"; } }
@Override public void meet(final StatementPattern node) throws QueryRulesetException { if (!(node.getSubjectVar().hasValue() || node.getPredicateVar().hasValue() || node.getObjectVar().hasValue())) { throw new QueryRulesetException("Statement pattern with no constants would match every statement:\n" + node + "\nFrom parsed query:\n" + te); } } });
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); }
@Override protected double getCardinality(StatementPattern sp) { Double card = spcalc == null ? null : spcalc.getCardinality(sp, boundVars); if (card == null) { //fallback to default cardinality calculation card = (hasValue(sp.getSubjectVar(), boundVars) ? 1.0 : 10.0) * (hasValue(sp.getPredicateVar(), boundVars) ? 1.0 : 10.0) * (hasValue(sp.getObjectVar(), boundVars) ? 1.0 : 10.0) * (hasValue(sp.getContextVar(), boundVars) ? 1.0 : 10.0); } return card; }
@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 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 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; } }
@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; } }