/** * Override this if you are able to determine the cardinality based not only on the predicateVar * itself but also the other vars (e.g. the subject value might determine a predicate subset). */ protected double getPredicateCardinality(StatementPattern sp) { return getPredicateCardinality(sp.getPredicateVar()); }
/** * Override this if you are able to determine the cardinality based not only on the predicateVar * itself but also the other vars (e.g. the subject value might determine a predicate subset). */ protected double getPredicateCardinality(StatementPattern sp) { return getPredicateCardinality(sp.getPredicateVar()); }
/** * 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; }
/** * 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; } }
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); }
private RyaIRI getPredIRI(final StatementPattern pattern) { final Var pred = pattern.getPredicateVar(); return new RyaIRI(pred.getValue().stringValue()); }
String renderPattern(StatementPattern thePattern) throws Exception { return renderValueExpr(thePattern.getSubjectVar()) + " " + renderValueExpr(thePattern.getPredicateVar()) + " " + "" + renderValueExpr(thePattern.getObjectVar()) + ".\n"; } }
@Override public void meet(StatementPattern node) throws QueryRulesetException { final Var predVar = node.getPredicateVar(); // If this is a transitive property node, just match all statements with that property if (node instanceof TransitivePropertySP && predVar.hasValue()) { node = new StatementPattern(new Var("transitiveSubject"), predVar, new Var("transitiveObject"), node.getContextVar()); // And make sure to grab the transitivity statement itself transitive.add(predVar.getValue()); } rules.add(new CopyRule(node)); }
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); } } });
@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; } }