/** * Returns true if this rule is applicable to a node. * * @param node to a node * @return true if the rule is applicable, false otherwise */ @Override public boolean canApply(StatementPattern node) { Var p = node.getPredicateVar(); // check if predicate is variable return !(predicates.isEmpty() || p.isConstant()); }
/** * Returns the URI of a predicate of a statement pattern. * * @param sp a statement pattern * @return the URI as string, null otherwise */ protected String getPredicate(StatementPattern sp) { return getURIString(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()); }
public SQLPattern(String name, StatementPattern sparqlPattern) { super(); this.name = name; this.conditions.add(name + ".deleted = false"); this.sparqlPattern = sparqlPattern; tripleFields.put(TripleColumns.SUBJECT, sparqlPattern.getSubjectVar()); tripleFields.put(TripleColumns.PREDICATE, sparqlPattern.getPredicateVar()); tripleFields.put(TripleColumns.OBJECT, sparqlPattern.getObjectVar()); tripleFields.put(TripleColumns.CONTEXT, sparqlPattern.getContextVar()); }
private Set<Var> getProjectionVars(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()); 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; }
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); }
public StatementPatternCursor( Iteration<? extends Statement, ? extends QueryEvaluationException> iter, StatementPattern sp) { super(iter); subjVar = sp.getSubjectVar(); predVar = sp.getPredicateVar(); objVar = sp.getObjectVar(); conVar = sp.getContextVar(); }
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"; } }
public Var[] getFields() { return new Var[] { getSparqlPattern().getSubjectVar(), getSparqlPattern().getPredicateVar(), getSparqlPattern().getObjectVar(), getSparqlPattern().getContextVar() }; }
@Override public void meet(StatementPattern node) throws RepositoryException { super.meet(node); IRI pred = (IRI)node.getPredicateVar().getValue(); if (pred != null && localSpace != null && localSpace.match(pred.stringValue())) { local(node.getSubjectVar()); } else { notLocal(); } }
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 void meet(StatementPattern node) { handleType(SeRQO.STATEMENTPATTERN); handleLiteral(SeRQO.SCOPE, node.getScope().name()); handleChild(SeRQO.SUBJECTVAR, node.getSubjectVar()); handleChild(SeRQO.PREDICATEVAR, node.getPredicateVar()); handleChild(SeRQO.OBJECTVAR, node.getObjectVar()); handleChild(SeRQO.CONTEXTVAR, node.getContextVar()); super.meet(node); }
@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; } }