/** * Create a fake query node */ Node createNode() { String name = getVarName(); Node node = compiler.createNode(name); return node; }
/** * Delete/Insert/Construct */ Exp compile(ASTQuery ast, fr.inria.corese.sparql.triple.parser.Exp exp) { Compiler save = compiler; compiler = fac.newInstance(); compiler.setAST(ast); Exp ee = compile(exp, false); if (save != null) { compiler = save; } return ee; }
/** * Subquery is a construct where */ Query constructQuery(ASTQuery ast) { Transformer t = Transformer.create(); t.setAlgebra(isAlgebra()); return t.transform(ast); }
/** * Must exp ee be joined with preceding statements ? */ private boolean isJoinable(Exp exp, fr.inria.corese.sparql.triple.parser.Exp ee) { return (isAlgebra()) ? isJoinableAlgebra(exp, ee) : isJoinableBasic(ee) ; }
/** * ext is loaded function definitions define them as public * * @param ext * @param q */ void definePublic(Extension ext, Query q) { definePublic(ext, q, true); }
/** * Rewrite fun() as ?var in exp Compile exists {} */ Filter compile(Expression exp) { Filter f = compiler.compile(exp); compileExist(f.getExp(), false); return f; }
Node getNode(Query qCurrent, Variable var) { Node node = null; if (qCurrent != null) { node = getProperAndSubSelectNode(qCurrent, var.getName()); } if (node == null) { node = compiler.createNode(var); } return node; }
public Triple getTriple() { if (triple == null) { triple = triple(); } return triple; }
Transformer(CompilerFactory f) { this(); fac = f; compiler = fac.newInstance(); }
@Override public boolean equals(Object o) { if (o instanceof Node) { return equals((Node) o); // was same } return false; }
@Override public void visit(ASTQuery ast) { process(ast); }
/** * Delete/Insert/Construct */ Exp compile(ASTQuery ast, fr.inria.corese.sparql.triple.parser.Exp exp) { Compiler save = compiler; compiler = fac.newInstance(); compiler.setAST(ast); Exp ee = compile(exp, false); if (save != null) { compiler = save; } return ee; }
/** * Create a fake query node */ Node createNode() { String name = getVarName(); Node node = compiler.createNode(name); return node; }
/** * ext is loaded function definitions define them as public * * @param ext * @param q */ void definePublic(Extension ext, Query q) { definePublic(ext, q, true); }
public Triple getTriple() { if (triple == null) { triple = triple(); } return triple; }
Transformer(CompilerFactory f) { this(); fac = f; compiler = fac.newInstance(); }