Package org.eclipse.rdf4j.query.parser.sparql

## Class ComplexSPARQLQueryTest

- java.lang.Object
- - org.eclipse.rdf4j.query.parser.sparql.ComplexSPARQLQueryTest

-     public abstract class ComplexSPARQLQueryTest
      extends Object

  A set of compliance tests on SPARQL query functionality which can not be easily executed using the `SPARQL11ManifestTest` format. This includes tests on queries with non-deterministic output (e.g. GROUP_CONCAT).
  Author:
    Jeen Broekstra

- - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `protected RepositoryConnection` | `conn` |
    `protected static String` | `EX_NS` |
    `protected ValueFactory` | `f` |
    `protected org.slf4j.Logger` | `logger` |

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `ComplexSPARQLQueryTest()` |

  - ### Method Summary

    All Methods Static Methods Instance Methods Abstract Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `protected String` | `getNamespaceDeclarations()` | Get a set of useful namespace prefix declarations.
    `protected void` | `loadTestData​(String dataFile, Resource... contexts)` |
    `protected abstract Repository` | `newRepository()` |
    `void` | `setUp()` |
    `static void` | `setUpClass()` |
    `void` | `tearDown()` |
    `void` | `test27NormalizeIRIFunction()` |
    `void` | `testArbitraryLengthPathWithBinding1()` |
    `void` | `testArbitraryLengthPathWithBinding2()` |
    `void` | `testArbitraryLengthPathWithBinding3()` |
    `void` | `testArbitraryLengthPathWithBinding4()` |
    `void` | `testArbitraryLengthPathWithBinding5()` |
    `void` | `testArbitraryLengthPathWithBinding6()` |
    `void` | `testArbitraryLengthPathWithBinding7()` |
    `void` | `testArbitraryLengthPathWithBinding8()` |
    `void` | `testArbitraryLengthPathWithFilter1()` |
    `void` | `testArbitraryLengthPathWithFilter2()` |
    `void` | `testArbitraryLengthPathWithFilter3()` |
    `void` | `testBindError()` | See https://github.com/eclipse/rdf4j/issues/1018
    `void` | `testBindScope()` |
    `void` | `testBindScopeUnion()` |
    `void` | `testConstruct_CyclicPathWithJoin()` |
    `void` | `testConstructModifiers()` |
    `void` | `testDescribeA()` |
    `void` | `testDescribeAWhere()` |
    `void` | `testDescribeB()` |
    `void` | `testDescribeD()` |
    `void` | `testDescribeF()` |
    `void` | `testDescribeMultipleA()` |
    `void` | `testDescribeMultipleB()` |
    `void` | `testDescribeMultipleC()` |
    `void` | `testDescribeMultipleD()` |
    `void` | `testDescribeWhere()` |
    `void` | `testEmptyUnion()` |
    `void` | `testFilterExistsExternalValuesClause()` | https://github.com/eclipse/rdf4j/issues/1026
    `void` | `testFilterRegexBoolean()` |
    `void` | `testGroupByEmpty()` |
    `void` | `testGroupConcatDistinct()` |
    `void` | `testGroupConcatNonDistinct()` |
    `void` | `testIdenticalVariablesInStatementPattern()` |
    `void` | `testInComparison1()` |
    `void` | `testInComparison2()` |
    `void` | `testInComparison3()` |
    `void` | `testMaxAggregateWithGroupEmptyResult()` | See https://github.com/eclipse/rdf4j/issues/1978
    `void` | `testMaxAggregateWithoutGroupEmptySolution()` | See https://github.com/eclipse/rdf4j/issues/1978
    `void` | `testMinAggregateWithGroupEmptyResult()` | See https://github.com/eclipse/rdf4j/issues/1978
    `void` | `testMinAggregateWithoutGroupEmptySolution()` | See https://github.com/eclipse/rdf4j/issues/1978
    `void` | `testNestedInversePropertyPathWithZeroLength()` |
    `void` | `testNullContext1()` |
    `void` | `testNullContext2()` |
    `void` | `testPropertyPathInTree()` |
    `void` | `testPropertyPathNegationInversion()` |
    `void` | `testRegexCaseNonAscii()` |
    `void` | `testSameTermRepeatInOptional()` |
    `void` | `testSameTermRepeatInUnion()` |
    `void` | `testSameTermRepeatInUnionAndOptional()` |
    `void` | `testSampleAggregateWithGroupEmptyResult()` | See https://github.com/eclipse/rdf4j/issues/1978
    `void` | `testSampleAggregateWithoutGroupEmptySolution()` | See https://github.com/eclipse/rdf4j/issues/1978
    `void` | `testSeconds()` | See https://github.com/eclipse/rdf4j/issues/1267
    `void` | `testSecondsMilliseconds()` | See https://github.com/eclipse/rdf4j/issues/1267
    `void` | `testSelectBindOnly()` |
    `void` | `testSES1073InverseSymmetricPattern()` |
    `void` | `testSES1081SameTermWithValues()` |
    `void` | `testSES1121VarNamesInOptionals()` |
    `void` | `testSES1685propPathSameVar()` |
    `void` | `testSES1898LeftJoinSemantics1()` |
    `void` | `testSES1898LeftJoinSemantics2()` |
    `void` | `testSES1970CountDistinctWildcard()` |
    `void` | `testSES1979MinMaxInf()` |
    `void` | `testSES1991NOWEvaluation()` |
    `void` | `testSES1991RANDEvaluation()` |
    `void` | `testSES1991STRUUIDEvaluation()` |
    `void` | `testSES1991UUIDEvaluation()` |
    `void` | `testSES2024PropertyPathAnonVarSharing()` |
    `void` | `testSES2052If1()` |
    `void` | `testSES2052If2()` |
    `void` | `testSES2104ConstructBGPSameURI()` |
    `void` | `testSES2121URIFunction()` |
    `void` | `testSES2136()` |
    `void` | `testSES2147PropertyPathsWithIdenticalSubsPreds()` |
    `void` | `testSES2154SubselectOptional()` |
    `void` | `testSES2250BindErrors()` |
    `void` | `testSES2250BindErrorsInPath()` |
    `void` | `testSES2336NegatedPropertyPathMod()` |
    `void` | `testSES2361UndefCount()` |
    `void` | `testSES2361UndefCountWildcard()` |
    `void` | `testSES2361UndefMax()` |
    `void` | `testSES2361UndefMin()` |
    `void` | `testSES2361UndefSum()` |
    `void` | `testSES2373SubselectOptional()` |
    `void` | `testSES869ValueOfNow()` |
    `void` | `testSesameNilAsGraph()` |
    `void` | `testValuesAfterOptional()` | See https://github.com/eclipse/rdf4j/issues/3072
    `void` | `testValuesCartesianProduct()` |
    `void` | `testValuesClauseNamedGraph()` |
    `void` | `testValuesInOptional()` |

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### logger

          protected final org.slf4j.Logger logger

    - #### conn

          protected RepositoryConnection conn

    - #### f

          protected ValueFactory f

    - #### EX_NS

          protected static final String EX_NS

      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### ComplexSPARQLQueryTest

          public ComplexSPARQLQueryTest()

  - ### Method Detail

    - #### setUpClass

          public static void setUpClass()
                                 throws Exception

      Throws:
        `Exception`

    - #### setUp

          public void setUp()
                     throws Exception

      Throws:
        `Exception`

    - #### tearDown

          public void tearDown()
                        throws Exception

      Throws:
        `Exception`

    - #### testNullContext1

          public void testNullContext1()
                                throws Exception

      Throws:
        `Exception`

    - #### testSES2373SubselectOptional

          public void testSES2373SubselectOptional()
                                            throws Exception

      Throws:
        `Exception`

    - #### testSES2154SubselectOptional

          public void testSES2154SubselectOptional()
                                            throws Exception

      Throws:
        `Exception`

    - #### testNullContext2

          public void testNullContext2()
                                throws Exception

      Throws:
        `Exception`

    - #### testSesameNilAsGraph

          public void testSesameNilAsGraph()
                                    throws Exception

      Throws:
        `Exception`

    - #### testDescribeA

          public void testDescribeA()
                             throws Exception

      Throws:
        `Exception`

    - #### testDescribeAWhere

          public void testDescribeAWhere()
                                  throws Exception

      Throws:
        `Exception`

    - #### testDescribeWhere

          public void testDescribeWhere()
                                 throws Exception

      Throws:
        `Exception`

    - #### testDescribeB

          public void testDescribeB()
                             throws Exception

      Throws:
        `Exception`

    - #### testDescribeD

          public void testDescribeD()
                             throws Exception

      Throws:
        `Exception`

    - #### testDescribeF

          public void testDescribeF()
                             throws Exception

      Throws:
        `Exception`

    - #### testDescribeMultipleA

          public void testDescribeMultipleA()
                                     throws Exception

      Throws:
        `Exception`

    - #### testDescribeMultipleB

          public void testDescribeMultipleB()
                                     throws Exception

      Throws:
        `Exception`

    - #### testDescribeMultipleC

          public void testDescribeMultipleC()
                                     throws Exception

      Throws:
        `Exception`

    - #### testDescribeMultipleD

          public void testDescribeMultipleD()
                                     throws Exception

      Throws:
        `Exception`

    - #### testGroupByEmpty

          public void testGroupByEmpty()
                                throws Exception

      Throws:
        `Exception`

    - #### testGroupConcatDistinct

          public void testGroupConcatDistinct()
                                       throws Exception

      Throws:
        `Exception`

    - #### testSameTermRepeatInOptional

          public void testSameTermRepeatInOptional()
                                            throws Exception

      Throws:
        `Exception`

    - #### testSES1121VarNamesInOptionals

          public void testSES1121VarNamesInOptionals()
                                              throws Exception

      Throws:
        `Exception`

    - #### testSES1081SameTermWithValues

          public void testSES1081SameTermWithValues()
                                             throws Exception

      Throws:
        `Exception`

    - #### testSES1898LeftJoinSemantics1

          public void testSES1898LeftJoinSemantics1()
                                             throws Exception

      Throws:
        `Exception`

    - #### testSES1073InverseSymmetricPattern

          public void testSES1073InverseSymmetricPattern()
                                                  throws Exception

      Throws:
        `Exception`

    - #### testSES1970CountDistinctWildcard

          public void testSES1970CountDistinctWildcard()
                                                throws Exception

      Throws:
        `Exception`

    - #### testSES1685propPathSameVar

          public void testSES1685propPathSameVar()
                                          throws Exception

      Throws:
        `Exception`

    - #### testSES2104ConstructBGPSameURI

          public void testSES2104ConstructBGPSameURI()
                                              throws Exception

      Throws:
        `Exception`

    - #### testSES1898LeftJoinSemantics2

          public void testSES1898LeftJoinSemantics2()
                                             throws Exception

      Throws:
        `Exception`

    - #### testIdenticalVariablesInStatementPattern

          public void testIdenticalVariablesInStatementPattern()
                                                        throws Exception

      Throws:
        `Exception`

    - #### testInComparison1

          public void testInComparison1()
                                 throws Exception

      Throws:
        `Exception`

    - #### testInComparison2

          public void testInComparison2()
                                 throws Exception

      Throws:
        `Exception`

    - #### testInComparison3

          public void testInComparison3()
                                 throws Exception

      Throws:
        `Exception`

    - #### testSES2121URIFunction

          public void testSES2121URIFunction()
                                      throws Exception

      Throws:
        `Exception`

    - #### test27NormalizeIRIFunction

          public void test27NormalizeIRIFunction()
                                          throws Exception

      Throws:
        `Exception`

    - #### testSES869ValueOfNow

          public void testSES869ValueOfNow()
                                    throws Exception

      Throws:
        `Exception`

    - #### testSES2136

          public void testSES2136()
                           throws Exception

      Throws:
        `Exception`

    - #### testRegexCaseNonAscii

          public void testRegexCaseNonAscii()
                                     throws Exception

      Throws:
        `Exception`

    - #### testValuesInOptional

          public void testValuesInOptional()
                                    throws Exception

      Throws:
        `Exception`

    - #### testValuesAfterOptional

          public void testValuesAfterOptional()
                                       throws Exception

      See https://github.com/eclipse/rdf4j/issues/3072
      Throws:
        `Exception`

    - #### testMaxAggregateWithGroupEmptyResult

          public void testMaxAggregateWithGroupEmptyResult()
                                                    throws Exception

      See https://github.com/eclipse/rdf4j/issues/1978
      Throws:
        `Exception`

    - #### testMaxAggregateWithoutGroupEmptySolution

          public void testMaxAggregateWithoutGroupEmptySolution()
                                                         throws Exception

      See https://github.com/eclipse/rdf4j/issues/1978
      Throws:
        `Exception`

    - #### testMinAggregateWithGroupEmptyResult

          public void testMinAggregateWithGroupEmptyResult()
                                                    throws Exception

      See https://github.com/eclipse/rdf4j/issues/1978
      Throws:
        `Exception`

    - #### testMinAggregateWithoutGroupEmptySolution

          public void testMinAggregateWithoutGroupEmptySolution()
                                                         throws Exception

      See https://github.com/eclipse/rdf4j/issues/1978
      Throws:
        `Exception`

    - #### testSampleAggregateWithGroupEmptyResult

          public void testSampleAggregateWithGroupEmptyResult()
                                                       throws Exception

      See https://github.com/eclipse/rdf4j/issues/1978
      Throws:
        `Exception`

    - #### testSampleAggregateWithoutGroupEmptySolution

          public void testSampleAggregateWithoutGroupEmptySolution()
                                                            throws Exception

      See https://github.com/eclipse/rdf4j/issues/1978
      Throws:
        `Exception`

    - #### testSES2052If1

          public void testSES2052If1()
                              throws Exception

      Throws:
        `Exception`

    - #### testSES2052If2

          public void testSES2052If2()
                              throws Exception

      Throws:
        `Exception`

    - #### testSameTermRepeatInUnion

          public void testSameTermRepeatInUnion()
                                         throws Exception

      Throws:
        `Exception`

    - #### testSameTermRepeatInUnionAndOptional

          public void testSameTermRepeatInUnionAndOptional()
                                                    throws Exception

      Throws:
        `Exception`

    - #### testPropertyPathInTree

          public void testPropertyPathInTree()
                                      throws Exception

      Throws:
        `Exception`

    - #### testFilterRegexBoolean

          public void testFilterRegexBoolean()
                                      throws Exception

      Throws:
        `Exception`

    - #### testGroupConcatNonDistinct

          public void testGroupConcatNonDistinct()
                                          throws Exception

      Throws:
        `Exception`

    - #### testArbitraryLengthPathWithBinding1

          public void testArbitraryLengthPathWithBinding1()
                                                   throws Exception

      Throws:
        `Exception`

    - #### testArbitraryLengthPathWithBinding2

          public void testArbitraryLengthPathWithBinding2()
                                                   throws Exception

      Throws:
        `Exception`

    - #### testArbitraryLengthPathWithBinding3

          public void testArbitraryLengthPathWithBinding3()
                                                   throws Exception

      Throws:
        `Exception`

    - #### testArbitraryLengthPathWithBinding4

          public void testArbitraryLengthPathWithBinding4()
                                                   throws Exception

      Throws:
        `Exception`

    - #### testArbitraryLengthPathWithBinding5

          public void testArbitraryLengthPathWithBinding5()
                                                   throws Exception

      Throws:
        `Exception`

    - #### testArbitraryLengthPathWithBinding6

          public void testArbitraryLengthPathWithBinding6()
                                                   throws Exception

      Throws:
        `Exception`

    - #### testArbitraryLengthPathWithBinding7

          public void testArbitraryLengthPathWithBinding7()
                                                   throws Exception

      Throws:
        `Exception`

    - #### testArbitraryLengthPathWithBinding8

          public void testArbitraryLengthPathWithBinding8()
                                                   throws Exception

      Throws:
        `Exception`

    - #### testArbitraryLengthPathWithFilter1

          public void testArbitraryLengthPathWithFilter1()
                                                  throws Exception

      Throws:
        `Exception`

    - #### testArbitraryLengthPathWithFilter2

          public void testArbitraryLengthPathWithFilter2()
                                                  throws Exception

      Throws:
        `Exception`

    - #### testArbitraryLengthPathWithFilter3

          public void testArbitraryLengthPathWithFilter3()
                                                  throws Exception

      Throws:
        `Exception`

    - #### testNestedInversePropertyPathWithZeroLength

          public void testNestedInversePropertyPathWithZeroLength()
                                                           throws Exception

      Throws:
        `Exception`

    - #### testSES2147PropertyPathsWithIdenticalSubsPreds

          public void testSES2147PropertyPathsWithIdenticalSubsPreds()
                                                              throws Exception

      Throws:
        `Exception`

    - #### testSES1991UUIDEvaluation

          public void testSES1991UUIDEvaluation()
                                         throws Exception

      Throws:
        `Exception`

    - #### testSES1991STRUUIDEvaluation

          public void testSES1991STRUUIDEvaluation()
                                            throws Exception

      Throws:
        `Exception`

    - #### testSES1991RANDEvaluation

          public void testSES1991RANDEvaluation()
                                         throws Exception

      Throws:
        `Exception`

    - #### testSES1991NOWEvaluation

          public void testSES1991NOWEvaluation()
                                        throws Exception

      Throws:
        `Exception`

    - #### testSES2024PropertyPathAnonVarSharing

          public void testSES2024PropertyPathAnonVarSharing()
                                                     throws Exception

      Throws:
        `Exception`

    - #### testPropertyPathNegationInversion

          public void testPropertyPathNegationInversion()
                                                 throws Exception

      Throws:
        `Exception`

    - #### testSES2361UndefMin

          public void testSES2361UndefMin()
                                   throws Exception

      Throws:
        `Exception`

    - #### testSES2361UndefMax

          public void testSES2361UndefMax()
                                   throws Exception

      Throws:
        `Exception`

    - #### testSES2361UndefCount

          public void testSES2361UndefCount()
                                     throws Exception

      Throws:
        `Exception`

    - #### testSES2361UndefCountWildcard

          public void testSES2361UndefCountWildcard()
                                             throws Exception

      Throws:
        `Exception`

    - #### testSES2361UndefSum

          public void testSES2361UndefSum()
                                   throws Exception

      Throws:
        `Exception`

    - #### testSES2336NegatedPropertyPathMod

          public void testSES2336NegatedPropertyPathMod()
                                                 throws Exception

      Throws:
        `Exception`

    - #### testSES1979MinMaxInf

          public void testSES1979MinMaxInf()
                                    throws Exception

      Throws:
        `Exception`

    - #### testBindError

          public void testBindError()
                             throws Exception

      See https://github.com/eclipse/rdf4j/issues/1018
      Throws:
        `Exception`

    - #### testBindScope

          public void testBindScope()
                             throws Exception

      Throws:
        `Exception`

    - #### testBindScopeUnion

          public void testBindScopeUnion()

    - #### testSES2250BindErrors

          public void testSES2250BindErrors()
                                     throws Exception

      Throws:
        `Exception`

    - #### testSES2250BindErrorsInPath

          public void testSES2250BindErrorsInPath()
                                           throws Exception

      Throws:
        `Exception`

    - #### testEmptyUnion

          public void testEmptyUnion()
                              throws Exception

      Throws:
        `Exception`

    - #### testFilterExistsExternalValuesClause

          public void testFilterExistsExternalValuesClause()
                                                    throws Exception

      https://github.com/eclipse/rdf4j/issues/1026
      Throws:
        `Exception`

    - #### testValuesClauseNamedGraph

          public void testValuesClauseNamedGraph()
                                          throws Exception

      Throws:
        `Exception`

    - #### testValuesCartesianProduct

          public void testValuesCartesianProduct()

    - #### testSeconds

          public void testSeconds()
                           throws Exception

      See https://github.com/eclipse/rdf4j/issues/1267
      Throws:
        `Exception`

    - #### testSecondsMilliseconds

          public void testSecondsMilliseconds()
                                       throws Exception

      See https://github.com/eclipse/rdf4j/issues/1267
      Throws:
        `Exception`

    - #### testConstructModifiers

          public void testConstructModifiers()
                                      throws Exception

      Throws:
        `Exception`

    - #### testConstruct_CyclicPathWithJoin

          public void testConstruct_CyclicPathWithJoin()

    - #### testSelectBindOnly

          public void testSelectBindOnly()
                                  throws Exception

      Throws:
        `Exception`

    - #### getNamespaceDeclarations

          protected String getNamespaceDeclarations()

      Get a set of useful namespace prefix declarations.
      Returns:
        namespace prefix declarations for dc, foaf and ex.

    - #### newRepository

          protected abstract Repository newRepository()
                                               throws Exception

      Throws:
        `Exception`

    - #### loadTestData

          protected void loadTestData​(String dataFile,
                                      Resource... contexts)
                               throws RDFParseException,
                                      RepositoryException,
                                      IOException

      Throws:
        `RDFParseException`
        `RepositoryException`
        `IOException`