@Override public void meet(StatementPattern node) { if (predicate.equals(SeRQO.SCOPE)) { Literal lit = (Literal) object; node.setScope(StatementPattern.Scope.valueOf(lit.getLabel())); } else if (predicate.equals(SeRQO.SUBJECTVAR)) { node.setSubjectVar((Var) model.get(object)); } else if (predicate.equals(SeRQO.PREDICATEVAR)) { node.setPredicateVar((Var) model.get(object)); } else if (predicate.equals(SeRQO.OBJECTVAR)) { node.setObjectVar((Var) model.get(object)); } else if (predicate.equals(SeRQO.CONTEXTVAR)) { node.setContextVar((Var) model.get(object)); } else { super.meet(node); } }
/** * Creates a statement pattern that matches a subject-, predicate-, object- * and context variable against statements from the specified context scope. */ public StatementPattern(Scope scope, Var subjVar, Var predVar, Var objVar, Var conVar) { setScope(scope); setSubjectVar(subjVar); setPredicateVar(predVar); setObjectVar(objVar); setContextVar(conVar); }
@Override public void replaceChildNode(QueryModelNode current, QueryModelNode replacement) { if (subjectVar == current) { setSubjectVar((Var)replacement); } else if (predicateVar == current) { setPredicateVar((Var)replacement); } else if (objectVar == current) { setObjectVar((Var)replacement); } else if (contextVar == current) { setContextVar((Var)replacement); } else { super.replaceChildNode(current, replacement); } }
consequent.setSubjectVar(sub); consequent.setPredicateVar(pred); consequent.setObjectVar(obj);
sp.setSubjectVar(pattern.getObjectVar());
@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; } }