private void visitBind(Resource r) throws OpenRDFException { Value expr = Statements.singleValue(r, SP.EXPRESSION_PROPERTY, store); ValueExpr valueExpr = visitExpression(expr); Value varValue = Statements.singleValue(r, SP.VARIABLE_PROPERTY, store); if (!(varValue instanceof Resource)) { throw new MalformedSpinException( String.format("Value of %s is not a resource", SP.VARIABLE_PROPERTY)); } String varName = getVarName((Resource)varValue); tupleNode = new Extension(tupleNode, new ExtensionElem(valueExpr, varName)); }
ex.addElement(new ExtensionElem(expr, name));
union.add(new Extension( sp, new ExtensionElem( new ValueConstant(vf.createURI(a)), p.getName())));
RR.STAR_SELECT_GRAPH.stringValue(), filterGraphVars), new Var("_const-" + UUID.randomUUID(), RDF.NIL), CompareOp.NE)); body = new Extension(body, new ExtensionElem(new FunctionCall( RR.STAR_SELECT_GRAPH.stringValue(), bindGraphVars), prefix));
lostVar.setValue(value); ext.addElement(new ExtensionElem(lostVar, name));
@Override public void meet(final GroupElem n) { final ProjectionElem e = new ProjectionElem(); e.setTargetName(n.getName()); e.setSourceName(n.getName()); e.setSourceExpression(new ExtensionElem(n.getOperator(), n.getName())); meet(e); }
@Override public void meet(final GroupElem n) { final ProjectionElem e = new ProjectionElem(); e.setTargetName(n.getName()); e.setSourceName(n.getName()); e.setSourceExpression(new ExtensionElem(n.getOperator(), n.getName())); meet(e); }
projElem.setSourceExpression(new ExtensionElem(valueExpr, varName)); if (!aggregates.isEmpty()) { projElem.setAggregateOperatorInExpression(true);
@Override public TupleExpr visit(ASTDescribe node, Object data) throws VisitorException { TupleExpr tupleExpr = (TupleExpr)data; if (tupleExpr == null) { tupleExpr = new SingletonSet(); } Extension e = new Extension(); ProjectionElemList projectionElements = new ProjectionElemList(); for (int i = 0; i < node.jjtGetNumChildren(); i++) { ValueExpr resource = (ValueExpr)node.jjtGetChild(i).jjtAccept(this, null); if (resource instanceof Var) { projectionElements.addElement(new ProjectionElem(((Var)resource).getName())); } else { String alias = "_describe_" + UUID.randomUUID().toString().replaceAll("-", "_"); ExtensionElem elem = new ExtensionElem(resource, alias); e.addElement(elem); projectionElements.addElement(new ProjectionElem(alias)); } } if (!e.getElements().isEmpty()) { e.setArg(tupleExpr); tupleExpr = e; } Projection p = new Projection(tupleExpr, projectionElements); return new DescribeOperator(p); }
private void renameVar(Var oldVar, Var newVar, Filter filter) { filter.getArg().visit(new VarRenamer(oldVar, newVar)); // TODO: skip this step if old variable name is not used // Replace SameTerm-filter with an Extension, the old variable name // might still be relevant to nodes higher in the tree Extension extension = new Extension(filter.getArg()); extension.addElement(new ExtensionElem(new Var(newVar.getName()), oldVar.getName())); filter.replaceWith(extension); }
valueExpr = new BNodeGenerator(); extElemMap.put(var, new ExtensionElem(valueExpr, var.getName())); extElemMap.put(var, new ExtensionElem(var, var.getName()));
private void renameVar(Var oldVar, Var newVar, Filter filter) { filter.getArg().visit(new VarRenamer(oldVar.getName(), newVar.getName())); // TODO: skip this step if old variable name is not used // Replace SameTerm-filter with an Extension, the old variable name // might still be relevant to nodes higher in the tree Extension extension = new Extension(filter.getArg()); extension.addElement(new ExtensionElem(new Var(newVar.getName()), oldVar.getName())); filter.replaceWith(extension); }
if (alias != null) { extension.addElement(new ExtensionElem(valueExpr, alias)); projElemList.addElement(new ProjectionElem(alias));
extension.addElement(new ExtensionElem(ve, alias));
ValueExpr expr = parser.parseExpression(subj, qp.getTripleSource()); TupleExpr root = new Extension(new SingletonSet(), new ExtensionElem(expr, "result")); parsedQuery = new ParsedTupleQuery(root);
ExtensionElem elem = new ExtensionElem(ve, name); extension.addElement(elem);
new ExtensionElem(obj, node.getSubjectVar().getName())); } else { //o is a variable and s may either be defined or a variable new ExtensionElem(node.getSubjectVar(), obj.getName()));
ExtensionElem pe = new ExtensionElem(operator, alias); extension.addElement(pe);
aExt.addElements(new ExtensionElem(new ValueConstant(aPattern.getSubjectVar().getValue()), aPattern.getSubjectVar().getName())); aExt.addElements(new ExtensionElem(new ValueConstant(aPattern.getPredicateVar().getValue()), aPattern.getPredicateVar().getName())); aExt.addElements(new ExtensionElem(new ValueConstant(aPattern.getObjectVar().getValue()), aPattern.getObjectVar().getName()));
ExtensionElem pe = new ExtensionElem(operator, alias); extension.addElement(pe);