/** * Assert that the explain hint is attached for unsatisfiable MINUS: * * SELECT * WHERE { ?s ?p ?o MINUS { ?a ?b ?c } } * * @throws Exception */ public void testUnsatisfiableMinusExplainHint01() throws Exception { final ASTContainer container = new TestHelper( "explainHints-unsatisfiableminus01",// name "explainHints-unsatisfiableminus01.rq",// query URL "explainHints.trig",// data URL "explainHints-unsatisfiableminus01.srx"// results URL ).runTest(); assertCarriesExactlyOneExplainHintOfType( container.getOptimizedAST(), UnsatisfiableMinusExplainHint.class); }
/** * Explain hint rendering & bottom up rewriting broken for subqueries, * see https://jira.blazegraph.com/browse/BLZG-1463. * * @throws Exception */ public void testTicketBlzg463a() throws Exception { final ASTContainer container = new TestHelper( "explainHints-blzg1463a",// name "explainHints-blzg1463a.rq",// query URL "empty.trig",// data URL "explainHints-blzg1463a.srx"// results URL ).runTest(); final Iterator<BOp> explainHintAnnotatedBOps = ExplainHints.explainHintAnnotatedBOpIterator(container.getOptimizedAST()); assertTrue(explainHintAnnotatedBOps.hasNext()); }
/** * Explain hint rendering & bottom up rewriting broken for subqueries, * see https://jira.blazegraph.com/browse/BLZG-1463. * * @throws Exception */ public void testTicketBlzg463c() throws Exception { final ASTContainer container = new TestHelper( "explainHints-blzg1463c",// name "explainHints-blzg1463c.rq",// query URL "empty.trig",// data URL "explainHints-blzg1463c.srx"// results URL ).runTest(); final Iterator<BOp> explainHintAnnotatedBOps = ExplainHints.explainHintAnnotatedBOpIterator(container.getOptimizedAST()); assertFalse(explainHintAnnotatedBOps.hasNext()); }
/** * Explain hint rendering & bottom up rewriting broken for subqueries, * see https://jira.blazegraph.com/browse/BLZG-1463. * * @throws Exception */ public void testTicketBlzg463a() throws Exception { final ASTContainer container = new TestHelper( "explainHints-blzg1463a",// name "explainHints-blzg1463a.rq",// query URL "empty.trig",// data URL "explainHints-blzg1463a.srx"// results URL ).runTest(); final Iterator<BOp> explainHintAnnotatedBOps = ExplainHints.explainHintAnnotatedBOpIterator(container.getOptimizedAST()); assertTrue(explainHintAnnotatedBOps.hasNext()); }
/** * Explain hint rendering & bottom up rewriting broken for subqueries, * see https://jira.blazegraph.com/browse/BLZG-1463. * * @throws Exception */ public void testTicketBlzg463b() throws Exception { final ASTContainer container = new TestHelper( "explainHints-blzg1463b",// name "explainHints-blzg1463b.rq",// query URL "empty.trig",// data URL "explainHints-blzg1463b.srx"// results URL ).runTest(); final Iterator<BOp> explainHintAnnotatedBOps = ExplainHints.explainHintAnnotatedBOpIterator(container.getOptimizedAST()); assertTrue(explainHintAnnotatedBOps.hasNext()); }
/** * Explain hint rendering & bottom up rewriting broken for subqueries, * see https://jira.blazegraph.com/browse/BLZG-1463. * * @throws Exception */ public void testTicketBlzg463b() throws Exception { final ASTContainer container = new TestHelper( "explainHints-blzg1463b",// name "explainHints-blzg1463b.rq",// query URL "empty.trig",// data URL "explainHints-blzg1463b.srx"// results URL ).runTest(); final Iterator<BOp> explainHintAnnotatedBOps = ExplainHints.explainHintAnnotatedBOpIterator(container.getOptimizedAST()); assertTrue(explainHintAnnotatedBOps.hasNext()); }
/** * Explain hint rendering & bottom up rewriting broken for subqueries, * see https://jira.blazegraph.com/browse/BLZG-1463. * * @throws Exception */ public void testTicketBlzg463c() throws Exception { final ASTContainer container = new TestHelper( "explainHints-blzg1463c",// name "explainHints-blzg1463c.rq",// query URL "empty.trig",// data URL "explainHints-blzg1463c.srx"// results URL ).runTest(); final Iterator<BOp> explainHintAnnotatedBOps = ExplainHints.explainHintAnnotatedBOpIterator(container.getOptimizedAST()); assertFalse(explainHintAnnotatedBOps.hasNext()); }
/** * Assert that the explain hint is attached for unsatisfiable MINUS: * * SELECT * WHERE { ?s ?p ?o MINUS { ?a ?b ?c } } * * @throws Exception */ public void testUnsatisfiableMinusExplainHint01() throws Exception { final ASTContainer container = new TestHelper( "explainHints-unsatisfiableminus01",// name "explainHints-unsatisfiableminus01.rq",// query URL "explainHints.trig",// data URL "explainHints-unsatisfiableminus01.srx"// results URL ).runTest(); assertCarriesExactlyOneExplainHintOfType( container.getOptimizedAST(), UnsatisfiableMinusExplainHint.class); }
/** * Assert that the explain hint is not attached for satisfiable MINUS: * * SELECT * WHERE { ?s ?p ?o MINUS { ?s ?b ?c } } * * @throws Exception */ public void testUnsatisfiableMinusExplainHint02() throws Exception { final ASTContainer container = new TestHelper( "explainHints-unsatisfiableminus02",// name "explainHints-unsatisfiableminus02.rq",// query URL "explainHints.trig",// data URL "explainHints-unsatisfiableminus02.srx"// results URL ).runTest(); // there's no explain hint, the MINUS here is satisfiable final Iterator<BOp> explainHintAnnotatedBOps = ExplainHints.explainHintAnnotatedBOpIterator(container.getOptimizedAST()); assertFalse(explainHintAnnotatedBOps.hasNext()); }
/** * Variant of testBottomUpSemanticsExplainHint06, motivated by the fix * made in https://jira.blazegraph.com/browse/BLZG-1463: the idea is to * test a non-complex BIND expression (not containing CONCAT etc.) and * whether this is reported correctly. * * @throws Exception */ public void testTicketBlzg463d() throws Exception { final ASTContainer container = new TestHelper( "explainHints-blzg1463d",// name "explainHints-blzg1463d.rq",// query URL "explainHints.trig",// data URL "explainHints-blzg1463d.srx"// results URL ).runTest(); final Iterator<BOp> explainHintAnnotatedBOps = ExplainHints.explainHintAnnotatedBOpIterator(container.getOptimizedAST()); assertTrue(explainHintAnnotatedBOps.hasNext()); }
/** * Assert that the explain hint is attached for non-reorderable join groups. * * SELECT * WHERE { * OPTIONAL { ?person <http://example.com/image> ?image } . * ?person rdf:type <http://example.com/Person> * } * * @throws Exception */ public void testJoinGroupOrderExplainHint01() throws Exception { final ASTContainer container = new TestHelper( "explainHints-joingrouporder01",// name "explainHints-joingrouporder01.rq",// query URL "explainHints.trig",// data URL "explainHints-joingrouporder01.srx"// results URL ).runTest(); assertCarriesExactlyOneExplainHintOfType( container.getOptimizedAST(), JoinOrderExplainHint.class); }
/** * Part one of a two part unit test which verifies that we lift out a * {@link SubqueryRoot} which is marked the {@link QueryHints#RUN_ONCE} * query hint. In this version of the test, the query hint is present and we * verify that the sub-select is lifted out. */ public void test_query_hints_04b() throws Exception { final ASTContainer astContainer = new TestHelper("query-hints-04b") .runTest(); final NamedSubqueriesNode namedSubqueries = astContainer .getOptimizedAST().getNamedSubqueries(); assertNotNull(namedSubqueries); assertEquals(1, namedSubqueries.arity()); }
/** * Part one of a two part unit test which verifies that we lift out a * {@link SubqueryRoot} which is marked the {@link QueryHints#RUN_ONCE} * query hint. In this version of the test, the query hint is present and we * verify that the sub-select is lifted out. */ public void test_query_hints_04b() throws Exception { final ASTContainer astContainer = new TestHelper("query-hints-04b") .runTest(); final NamedSubqueriesNode namedSubqueries = astContainer .getOptimizedAST().getNamedSubqueries(); assertNotNull(namedSubqueries); assertEquals(1, namedSubqueries.arity()); }
/** * Assert that the explain hint is attached for unsatisfiable MINUS: * * SELECT * WHERE { ?s ?p ?o MINUS { ?a ?b ?c } } * * @throws Exception */ public void testUnsatisfiableMinusExplainHint01() throws Exception { final ASTContainer container = new TestHelper( "explainHints-unsatisfiableminus01",// name "explainHints-unsatisfiableminus01.rq",// query URL "explainHints.trig",// data URL "explainHints-unsatisfiableminus01.srx"// results URL ).runTest(); assertCarriesExactlyOneExplainHintOfType( container.getOptimizedAST(), UnsatisfiableMinusExplainHint.class); }
/** * Explain hint rendering & bottom up rewriting broken for subqueries, * see https://jira.blazegraph.com/browse/BLZG-1463. * * @throws Exception */ public void testTicketBlzg463a() throws Exception { final ASTContainer container = new TestHelper( "explainHints-blzg1463a",// name "explainHints-blzg1463a.rq",// query URL "empty.trig",// data URL "explainHints-blzg1463a.srx"// results URL ).runTest(); final Iterator<BOp> explainHintAnnotatedBOps = ExplainHints.explainHintAnnotatedBOpIterator(container.getOptimizedAST()); assertTrue(explainHintAnnotatedBOps.hasNext()); }
/** * Explain hint rendering & bottom up rewriting broken for subqueries, * see https://jira.blazegraph.com/browse/BLZG-1463. * * @throws Exception */ public void testTicketBlzg463b() throws Exception { final ASTContainer container = new TestHelper( "explainHints-blzg1463b",// name "explainHints-blzg1463b.rq",// query URL "empty.trig",// data URL "explainHints-blzg1463b.srx"// results URL ).runTest(); final Iterator<BOp> explainHintAnnotatedBOps = ExplainHints.explainHintAnnotatedBOpIterator(container.getOptimizedAST()); assertTrue(explainHintAnnotatedBOps.hasNext()); }
/** * Explain hint rendering & bottom up rewriting broken for subqueries, * see https://jira.blazegraph.com/browse/BLZG-1463. * * @throws Exception */ public void testTicketBlzg463c() throws Exception { final ASTContainer container = new TestHelper( "explainHints-blzg1463c",// name "explainHints-blzg1463c.rq",// query URL "empty.trig",// data URL "explainHints-blzg1463c.srx"// results URL ).runTest(); final Iterator<BOp> explainHintAnnotatedBOps = ExplainHints.explainHintAnnotatedBOpIterator(container.getOptimizedAST()); assertFalse(explainHintAnnotatedBOps.hasNext()); }
/** * Assert that the explain hint is not attached for satisfiable MINUS: * * SELECT * WHERE { ?s ?p ?o MINUS { ?s ?b ?c } } * * @throws Exception */ public void testUnsatisfiableMinusExplainHint02() throws Exception { final ASTContainer container = new TestHelper( "explainHints-unsatisfiableminus02",// name "explainHints-unsatisfiableminus02.rq",// query URL "explainHints.trig",// data URL "explainHints-unsatisfiableminus02.srx"// results URL ).runTest(); // there's no explain hint, the MINUS here is satisfiable final Iterator<BOp> explainHintAnnotatedBOps = ExplainHints.explainHintAnnotatedBOpIterator(container.getOptimizedAST()); assertFalse(explainHintAnnotatedBOps.hasNext()); }
/** * Variant of testBottomUpSemanticsExplainHint06, motivated by the fix * made in https://jira.blazegraph.com/browse/BLZG-1463: the idea is to * test a non-complex BIND expression (not containing CONCAT etc.) and * whether this is reported correctly. * * @throws Exception */ public void testTicketBlzg463d() throws Exception { final ASTContainer container = new TestHelper( "explainHints-blzg1463d",// name "explainHints-blzg1463d.rq",// query URL "explainHints.trig",// data URL "explainHints-blzg1463d.srx"// results URL ).runTest(); final Iterator<BOp> explainHintAnnotatedBOps = ExplainHints.explainHintAnnotatedBOpIterator(container.getOptimizedAST()); assertTrue(explainHintAnnotatedBOps.hasNext()); }
/** * Part one of a two part unit test which verifies that we lift out a * {@link SubqueryRoot} which is marked the {@link QueryHints#RUN_ONCE} * query hint. In this version of the test, the query hint is present and we * verify that the sub-select is lifted out. */ public void test_query_hints_04b() throws Exception { final ASTContainer astContainer = new TestHelper("query-hints-04b") .runTest(); final NamedSubqueriesNode namedSubqueries = astContainer .getOptimizedAST().getNamedSubqueries(); assertNotNull(namedSubqueries); assertEquals(1, namedSubqueries.arity()); }