protected abstract static class TestASTDistinctTermScanOptimizer.AbstractASTDistinctTermScanTest extends TestASTDistinctTermScanOptimizer
TestASTDistinctTermScanOptimizer.AbstractASTDistinctTermScanTest, TestASTDistinctTermScanOptimizer.TestQuadsModeAPs, TestASTDistinctTermScanOptimizer.TestTriplesModeAPs
AbstractOptimizerTestCase.Annotations, AbstractOptimizerTestCase.ApplyAnnotation, AbstractOptimizerTestCase.ASTPropertyPathOptimizerInTest, AbstractOptimizerTestCase.Helper
TestCase2.MyProperties, TestCase2.RandomType
baseURI, store, valueFactory
_randomType
Modifier | Constructor and Description |
---|---|
protected |
TestASTDistinctTermScanOptimizer.AbstractASTDistinctTermScanTest() |
Modifier and Type | Method and Description |
---|---|
void |
test_distinctTermScanOptimizer_01()
This is translated into a
DistinctTermAdvancer and the
distinct terms are simply bound onto ?s. |
void |
test_distinctTermScanOptimizer_optional_pattern()
The triple pattern can be OPTIONAL (simple
optional).
|
void |
test_distinctTermScanOptimizer_reject_constant_in_sp()
Reject optimization in case of the constant in SP.
|
suite
newStatementPatternNode, newStatementPatternNode, newStatementPatternNode
assertSameAST, asSet, asSet, asSet, asSet, asSet, enableDeleteMarkersInIndes, getBOpContext, getProperties, getStore, makeIV, setUp, tearDown
assertSameSolutions, assertSameSolutions, assertSameSolutions, assertSameSolutionsAnyOrder, assertSameSolutionsAnyOrder, assertSameSolutionsAnyOrder, assertSameSolutionsAnyOrder, assertSameSolutionsAnyOrder, assertSameSolutionsAnyOrder, compareGraphs, compareTupleQueryResults, diff
assertEquals, 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, logProperties
assertEquals, 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, toString
protected TestASTDistinctTermScanOptimizer.AbstractASTDistinctTermScanTest()
public void test_distinctTermScanOptimizer_01()
DistinctTermAdvancer
and the
distinct terms are simply bound onto ?s. The DISTINCT or REDUCED
annotations are REQUIRED in the original AST and are NOT present in
the rewritten AST (the distinct term scan always provides distinct
solutions).
Note: This is only possible when the values of the other variables
are ignored (rather than being projected out).
SELECT (DISTINCT|REDUCED) ?s {?s ?p ?o}TODO While it is possible to use the
DistinctTermAdvancer
where there are some constants in the statement pattern. E.g.,
SELECT DISTINCT ?o {:s ?p ?o}
, this is only advantageous for QUADS when the context
position is bound to a constant and the size of the named graph is
large. In all other cases we are better off just using a pipeline
join (standard join).
FIXME Write an explicit test for a default graph access path. The
graph variable is ignored and not projected out. The distinct term
advancer will automatically possess the appropriate RDF Merge
semantics.public void test_distinctTermScanOptimizer_optional_pattern()
SELECT (DISTINCT|REDUCED) ?s { OPTIONAL { ?s ?p ?o} }
public void test_distinctTermScanOptimizer_reject_constant_in_sp()
SELECT DISTINCT ?s {?s :p ?o}
Copyright © 2006–2019 SYSTAP, LLC DBA Blazegraph. All rights reserved.