public Op getOp() { if ( op != null ) return op ; op = SSE.parseOp(queryString) ; if ( op == null ) System.err.println("Failed to parse : "+queryString) ; return op ; } }
private void reverse(String string, String string2, boolean repeatedly) { Op opOrig = SSE.parseOp(string); Op opExpected = SSE.parseOp(string2); Op opActual = Rename.reverseVarRename(opOrig, repeatedly); assertEquals(opExpected, opActual); } private void rename(String string, String string2, boolean reversable, String... varNames) {
@Test public void testBuildTable_04() { // Can't test for equality because can't create a BNode in a way that equality will // succeed because OpTable does strict equality and ignores NodeIsomorphismMap SSE.parseOp("(table (vars ?x) (row (?x _:test)))"); }
protected Op op(String pattern, Mode mode) { Op op = SSE.parseOp(pattern) ; if ( mode == Mode.QUADS ) op = Algebra.toQuadForm(op) ; else if ( mode == Mode.QUADBLOCKS ) op = Algebra.toQuadBlockForm(op) ; return op ; } }
private static void visible(String string, String... vars) { Op op = SSE.parseOp(string) ; Collection<Var> c = OpVars.visibleVars(op) ; check(vars, c) ; }
private static void fixed(String string, String... vars) { Op op = SSE.parseOp(string) ; Collection<Var> c = OpVars.fixedVars(op) ; check(vars, c) ; }
private static ResultSet exec(String pattern, Graph graph) { Op op = SSE.parseOp(pattern, pmap) ; List<Var> vars = new ArrayList<>() ; vars.addAll(OpVars.visibleVars(op)) ; QueryIterator qIter = Algebra.exec(op, graph) ; return ResultSetFactory.create(qIter, Var.varNames(vars)) ; }
private static ResultSet exec(String pattern, Graph graph) { Op op = SSE.parseOp(pattern, pmap) ; List<Var> vars = new ArrayList<>() ; vars.addAll(OpVars.visibleVars(op)) ; QueryIterator qIter = Algebra.exec(op, graph) ; return ResultSetFactory.create(qIter, Var.varNames(vars)) ; }
private static ResultSet exec(String pattern) { Op op = SSE.parseOp(pattern, pmap) ; List<Var> vars = new ArrayList<>() ; vars.addAll(OpVars.visibleVars(op)) ; //op = Algebra.toQuadForm(op); QueryIterator qIter = Algebra.exec(op, dataset.asDatasetGraph()); // Will go via the StageGeneratorDirectTDB for TDB2 // QueryIterator qIter = Algebra.exec(op, dataset.asDatasetGraph().getDefaultGraph()); return ResultSetFactory.create(qIter, Var.varNames(vars)) ; }
@Test public void testBuildTable_02() { Op expected = OpTable.empty(); Op actual = SSE.parseOp("(table empty)"); assertEquals(expected, actual); }
public static void check(Op opToOptimize, Transform additionalOptimizer, String opExpectedString) { Op opOptimize = Algebra.optimize(opToOptimize) ; opOptimize = Transformer.transform(additionalOptimizer, opOptimize) ; Op opExpected = SSE.parseOp(opExpectedString) ; assertEquals(opExpected, opOptimize) ; }
@Test public void testBuildTable_01() { Op expected = OpTable.unit(); Op actual = SSE.parseOp("(table unit)"); assertEquals(expected, actual); }
private static ResultSet exec(String pattern) { Op op = SSE.parseOp(pattern, pmap) ; List<Var> vars = new ArrayList<>() ; vars.addAll(OpVars.visibleVars(op)) ; //op = Algebra.toQuadForm(op); QueryIterator qIter = Algebra.exec(op, dataset.asDatasetGraph()); // Will go via the StageGeneratorDirectTDB for TDB2 // QueryIterator qIter = Algebra.exec(op, dataset.asDatasetGraph().getDefaultGraph()); return ResultSetFactory.create(qIter, Var.varNames(vars)) ; }
@Test public void testTable2() { // JENA-1468 : op to string and back. String qs = "SELECT * WHERE { ?x ?p ?z . VALUES ?y { } }" ; Query query = QueryFactory.create(qs); Op op = Algebra.compile(query); String x = op.toString(); Op op1 = SSE.parseOp(x); Query query2 = OpAsQuery.asQuery(op1); assertEquals(query, query2); }
public void test(Op op1, Transform transform, String... output) { Op op2 = Transformer.transform(transform, op1) ; if ( output == null ) { // No transformation. Assert.assertEquals(op1, op2) ; return ; } Op op3 = SSE.parseOp(StrUtils.strjoinNL(output)) ; Assert.assertEquals(op3, op2) ; }
private void checkRename(String queryString, String opExpectedString) { Op opExpected = SSE.parseOp(opExpectedString) ; queryString = "PREFIX : <http://example/>\n"+queryString ; Query query = QueryFactory.create(queryString) ; Op op = Algebra.compile(query) ; Op opRenamed = TransformScopeRename.transform(op) ; assertEquals(opExpected, opRenamed) ; }
public static void test(Op input, Transform transform, String... output) { Op opOptimized = Transformer.transform(transform, input); if (output == null) { // No transformation. Assert.assertEquals(input, opOptimized); return; } Op op3 = SSE.parseOp(StrUtils.strjoinNL(output)); Assert.assertEquals(op3, opOptimized); } }
private static void test(Op input, String... joinForm) { Op op2 = Transformer.transform(new TransformPattern2Join() , input) ; String x = StrUtils.strjoinNL(joinForm) ; Op opExpected = SSE.parseOp("(prefix ((: <http://example/>)) "+x+")") ; assertEquals(opExpected, op2) ; } }
@Test public void equality_expression_1() { // Need to fold to a string or URI to trigger equality. Op op = SSE.parseOp("(filter (= ?o (+ 'a' 'b')) (bgp (?x <http://p2> ?o)))") ; // Fold constants. Op op1 = Transformer.transform(new TransformCopy(), new ExprTransformConstantFold(), op); // Then apply filter-equality. check(op1, t_equality, "(assign ((?o 'ab')) (bgp (?x <http://p2> 'ab')) )") ; }
private static void varfind(String string, String[] varsFixed, String[] varsOpt, String[] varsFilter, String[] varsFilterOnly) { Op op = SSE.parseOp(string) ; VarFinder vf = VarFinder.process(op) ; if ( varsFixed != null ) check(varsFixed, vf.getFixed()) ; if ( varsOpt != null ) check(varsOpt, vf.getOpt()) ; if ( varsFilter != null ) check(varsFilter, vf.getFilter()) ; if ( varsFilterOnly != null ) check(varsFilterOnly, vf.getFilterOnly()) ; }