protected String labelForVar(Node node) { return "?"+node.getName() ; } @Override
@Override protected String processVar(Node v) { return v.getName(); } };
protected String labelForVar(Node node) { return "?"+node.getName() ; } public void reset() {}
@Override public Node get(Node node) { // Jena is idiotic and doesnt realize when two nodes are the same (e.g. have the same variable) for (Map.Entry<Node, Node> e : map.entrySet()) { if (e.getKey().getName().equals(node)) { return e.getValue(); } } return map.get(node); }
@Override public void formatVar(AWriter w, Node n) { formatVar(w, n.getName()) ; } }
private boolean unifyT1Variable(Node t1,Node t2, Map<Node, Node> old2New) { assert t1.isVariable() : t1; if (!t2.isVariable()) { old2New.put(t1, t2); } else if (!isValidNameForUnboundVariable(t1.getName())) { // t1 bound old2New.put(t2, t1); } else { // t1 is unbound old2New.put(t1, t2); } return true; } protected boolean unify(Node t1, Node t2, Map<Node, Node> old2New) {
private Node resolveParameterization(Node node) { if( node == null ) throw new NullPointerException( "Node is null" ); if( initialBinding == null ) throw new NullPointerException( "Initial binding is null" ); if( node.isConcrete() ) return node; RDFNode binding = initialBinding.get( node.getName() ); if( binding == null ) return node; return binding.asNode(); } }
public static boolean isBlankNodeVar(Node node) { return node.isVariable() && isBlankNodeVarName(node.getName()) ; }
private void initVars() { vars = new LinkedHashSet<String>(); for( int i = 0; i < pattern.size(); i++ ) { Triple t = pattern.get( i ); if( ARQParser.isDistinguishedVariable( t.getSubject() ) ) vars.add( t.getSubject().getName() ); if( t.getPredicate().isVariable() ) vars.add( t.getPredicate().getName() ); if( ARQParser.isDistinguishedVariable( t.getObject() ) ) vars.add( t.getObject().getName() ); } }
public void addResultVar(Node v) { if ( !v.isVariable() ) throw new QueryException("Not a variable: "+v) ; _addResultVar(v.getName()) ; }
private static Node getBoundValue(Binding binding, Node node) { if (node.isVariable()) { return binding.get(Var.alloc(node.getName())); } else { return node; } }
private static final Node replaceVarByBindingValue(Node tripleNode, Binding binding) { if (tripleNode.isVariable()) { Node value = binding.get(Var.alloc(tripleNode.getName())); if (value != null) { return value; } } return tripleNode; }
protected Expr getExpr(Node n) { return n.isVariable()? new ExprVar(n.getName()) : new NodeValueNode(n); } @Override
public void addResultVar(Node v) { if ( !v.isVariable() ) throw new QueryException("Not a variable: "+v) ; _addResultVar(v.getName()) ; }
protected static E_Equals toEqualsFilter(Expr left, Expr right) { Node ln = toNode(left); com.hp.hpl.jena.sparql.expr.Expr le = ln.isVariable()? new ExprVar(ln.getName()) : new NodeValueNode(ln); Node rn = toNode(right); com.hp.hpl.jena.sparql.expr.Expr re = rn.isVariable()? new ExprVar(rn.getName()) : new NodeValueNode(rn); return new E_Equals(le, re); } protected static E_Equals toIRIEqualsFilter(Expr left, Expr right) {
protected static E_NotEquals toNotEqualsFilter(Expr left, Expr right) { Node ln = toNode(left); com.hp.hpl.jena.sparql.expr.Expr le = ln.isVariable()? new ExprVar(ln.getName()) : new NodeValueNode(ln); Node rn = toNode(right); com.hp.hpl.jena.sparql.expr.Expr re = rn.isVariable()? new ExprVar(rn.getName()) : new NodeValueNode(rn); return new E_NotEquals(le, re); }
protected static E_Equals toIRIEqualsFilter(Expr left, Expr right) { Node ln = toNode(left); com.hp.hpl.jena.sparql.expr.Expr le = ln.isVariable()? new ExprVar(ln.getName()) : new NodeValueNode(ln); Node rn = toNode(right); com.hp.hpl.jena.sparql.expr.Expr re = rn.isVariable()? new ExprVar(rn.getName()) : new NodeValueNode(rn); return new E_Equals(new E_Str(le), new E_Str(re)); }
protected static E_NotEquals toIRINotEqualsFilter(Expr left, Expr right) { Node ln = toNode(left); com.hp.hpl.jena.sparql.expr.Expr le = ln.isVariable()? new ExprVar(ln.getName()) : new NodeValueNode(ln); Node rn = toNode(right); com.hp.hpl.jena.sparql.expr.Expr re = rn.isVariable()? new ExprVar(rn.getName()) : new NodeValueNode(rn); return new E_NotEquals(new E_Str(le), new E_Str(re)); }