@Override public Node getNode(Object value) { return producer.getNode(value); }
public Node getURI(String str) { IDatatype dt = DatatypeMap.createResource(str); Node n = producer.getNode(dt); return n; }
public Node getLiteral(String str, String datatype, String lang) { IDatatype dt = DatatypeMap.createLiteral(str, datatype, lang); Node n = producer.getNode(dt); return n; }
public Node getBlank(String str) { IDatatype dt = DatatypeMap.createBlank(str); Node n = producer.getNode(dt); return n; }
@Override public Node cast(Object obj, Environment env, Producer p) { IDatatype val = proxy.cast(obj, env, p); Node node = p.getNode(val); return node; }
public Node getURI(String str) { IDatatype dt = DatatypeMap.createResource(str); Node n = producer.getNode(dt); return n; }
public Node getBlank(String str) { IDatatype dt = DatatypeMap.createBlank(str); Node n = producer.getNode(dt); return n; }
public Node getLiteral(String str, String datatype, String lang) { IDatatype dt = DatatypeMap.createLiteral(str, datatype, lang); Node n = producer.getNode(dt); return n; }
@Override public Node cast(Object obj, Environment env, Producer p) { IDatatype val = proxy.cast(obj, env, p); Node node = p.getNode(val); return node; }
/** * First param is query * other param are variable bindings (variable, value) */ Mapping createMapping(Producer p, IDatatype[] param, int start){ ArrayList<Node> var = new ArrayList<Node>(); ArrayList<Node> val = new ArrayList<Node>(); for (int i = start; i < param.length; i += 2){ var.add(NodeImpl.createVariable(clean(param[i].getLabel()))); val.add(p.getNode(param[i+1])); } return Mapping.create(var, val); }
@Override public Node eval(Filter f, Environment env, Producer p) { Expr exp = f.getExp(); IDatatype value = eval(exp, env, p); if (value == ERROR_VALUE) { return null; } return producer.getNode(value); }
@Override public Node eval(Filter f, Environment env, Producer p) { Expr exp = f.getExp(); IDatatype value = eval(exp, env, p); if (value == ERROR_VALUE) { return null; } return producer.getNode(value); }
IDatatype index(IDatatype dt, Producer p) { Node n = p.getNode(dt); if (n == null) { return null; } return value(n.getIndex()); }
/** * First param is query other param are variable bindings (variable, value) */ Mapping createMapping(Producer p, IDatatype[] param, int start) { ArrayList<Node> var = new ArrayList<Node>(); ArrayList<Node> val = new ArrayList<Node>(); for (int i = start; i < param.length; i += 2) { var.add(NodeImpl.createVariable(clean(param[i].getLabel()))); val.add(p.getNode(param[i + 1])); } return Mapping.create(var, val); }
IDatatype index(IDatatype dt, Producer p) { Node n = p.getNode(dt); if (n == null) { return null; } return value(n.getIndex()); }
public IDatatype index(Producer p, Expr exp, Environment env, IDatatype dt){ Node n = p.getNode(dt); return getValue(n.getIndex()); }
public List<Node> toNodeList(Object obj) { IDatatype dt = (IDatatype) obj; List<Node> list = new ArrayList<Node>(); if (dt.isList()) { for (IDatatype dd : dt.getValues()) { if (dd.isXMLLiteral() && dd.getLabel().startsWith("http://")) { // try an URI dd = DatatypeMap.newResource(dd.getLabel()); } list.add(p.getNode(dd)); } } else { list.add(p.getNode(dt)); } return list; }
node = producer.getNode(dt);
/** * param[i] = getArg(i+1) = cast:node(exp) */ void cast(IDatatype dt, int i, Object[] values, Class[] types, Producer p) { String target = getArg(i+1).getLabel(); switch (target) { case NODE: values[i] = p.getNode(dt); types[i] = Node.class; break; case DATATYPE: values[i] = dt; types[i] = IDatatype.class; break; default: cast(dt, i, values, types); } }
boolean binding(List<Node> varList, Mapping map, int n) { int i = 0; for (Node qNode : varList){ //map.getQueryNodes()) { Node node = map.getNode(qNode); if (node != null) { Node value = producer.getNode(node.getValue()); boolean suc = memory.push(qNode, value, n); if (!suc) { popBinding(varList, map, i); return false; } } i++; } return true; }