public class TestASTNamedSubqueryOptimizer extends AbstractASTEvaluationTestCase
ASTNamedSubqueryOptimizer.TestCase2.MyProperties, TestCase2.RandomTypebaseURI, store, valueFactory_randomType| Constructor and Description |
|---|
TestASTNamedSubqueryOptimizer() |
TestASTNamedSubqueryOptimizer(String name) |
| Modifier and Type | Method and Description |
|---|---|
void |
test_govtrack_query10()
This unit test is a based on
bigdata-perf/CI/govtrack/queries/query10.rq |
void |
test_static_analysis_join_vars()
Unit test for computing the join variables for a named subquery based on
the analysis of the bindings which MUST be produced by the subquery and
those which MUST be bound on entry into the group in which the subquery
solution set is included within the main query.
|
void |
test_static_analysis_no_join_vars()
Variant of
test_static_analysis_join_vars() where the order of
the StatementPatternNode and the NamedSubqueryInclude in
the main WHERE clause is reversed such that there are no join variables
for the INCLUDE. |
assertSameAST, asSet, asSet, asSet, asSet, asSet, enableDeleteMarkersInIndes, getBOpContext, getProperties, getStore, makeIV, setUp, tearDownassertSameSolutions, assertSameSolutions, assertSameSolutions, assertSameSolutionsAnyOrder, assertSameSolutionsAnyOrder, assertSameSolutionsAnyOrder, assertSameSolutionsAnyOrder, assertSameSolutionsAnyOrder, assertSameSolutionsAnyOrder, compareGraphs, compareTupleQueryResults, diffassertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEqualsWithinUlps, assertSameArray, assertSameArray, assertSameBigDecimal, assertSameBigDecimal, assertSameBigInteger, assertSameBigInteger, assertSameIterator, assertSameIterator, assertSameIteratorAnyOrder, assertSameIteratorAnyOrder, assertSameValue, assertSameValue, assertZeroUlps, assertZeroUlps, fail, getInnerCause, getNormalInt, getProjectBuildPath, getRandomObject, getRandomObject, getRandomOrder, getRandomString, getTestInputStream, getTestResource, getTestResource, getUlps, getUlps, isDEBUG, isDEBUG, isINFO, isINFO, isInnerCause, logPropertiesassertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertFalse, assertFalse, assertNotNull, assertNotNull, assertNotSame, assertNotSame, assertNull, assertNull, assertSame, assertSame, assertTrue, assertTrue, countTestCases, createResult, fail, fail, failNotEquals, failNotSame, failSame, format, getName, run, run, runBare, runTest, setName, toStringpublic TestASTNamedSubqueryOptimizer()
public TestASTNamedSubqueryOptimizer(String name)
name - public void test_static_analysis_join_vars()
select ?x ?o
with {
select ?x where { ?x rdf:type foaf:Person }
} AS %namedSet1
where {
?x rdfs:label ?o
INCLUDE %namedSet1
}
The join should be on ?x in this example.
Note: Whether we use a join on ?x or whether there are NO
join variables depends on the order imposed on the named subquery include
versus the statement pattern, which depends on the expected cardinality
of the named solution set and ?x rdfs:label ?o. We should
only use ?x as a join variable if the expected cardinality
of ?x rdfs:label ?o is LT the expected cardinality of the
named solution set. In fact, for this case it probably won't be.
public void test_static_analysis_no_join_vars()
test_static_analysis_join_vars() where the order of
the StatementPatternNode and the NamedSubqueryInclude in
the main WHERE clause is reversed such that there are no join variables
for the INCLUDE.
select ?x ?o
with {
select ?x where { ?x rdf:type foaf:Person }
} AS %namedSet1
where {
INCLUDE %namedSet1
?x rdfs:label ?o
}
public void test_govtrack_query10()
bigdata-perf/CI/govtrack/queries/query10.rq
SELECT ?_var1
WITH {
SELECT ?_var1 ?_var6
WHERE {
?_var1 a
OPTIONAL {
?_var1 ?_var6
}.
}
} as %_set1
WITH {
SELECT ?_var1 ?_var4 ?_var12
WHERE {
INCLUDE %_set1
OPTIONAL {
?_var12 ?_var1.
?_var12 ?_var4
}.
}
} as %_set2
WITH {
SELECT ?_var1 ?_var10 ?_var13
WHERE {
INCLUDE %_set1
OPTIONAL {
?_var1 ?_var13.
?_var13 ?_var10
}
}
} as %_set3
WHERE {
INCLUDE %_set2 . # JOIN ON ()
INCLUDE %_set3 . # JOIN ON (?_var1)
}
https://sourceforge.net/apps/trac/bigdata/ticket/397Copyright © 2006–2019 SYSTAP, LLC DBA Blazegraph. All rights reserved.