public class TestTwoPropertyPaths734 extends AbstractDataDrivenSPARQLTestCase
SELECT ?A
WHERE {
    ?A rdf:type  / rdfs:subClassOf *  ;
       rdf:value ?B .
    ?B rdf:type  / rdfs:subClassOf *   .
}
  
There is a work-around which is to replace a * with a UNION of a zero and a +
    { 
      { ?B rdf:type   }
      UNION
      {  ?B rdf:type  / rdfs:subClassOf +  
      }
    }
      
In property-path-734-B-none.rq, this is taken as the following variant:
    { 
      { ?A rdf:type  / rdfs:subClassOf  ?  }
      UNION
      {  ?A rdf:type  /  rdfs:subClassOf / rdfs:subClassOf +  
      }
    }
     
and in property-path-734-B-workaround2.rq it is taken to (the broken):
    ?A rdf:type  / ( rdfs:subClassOf ? | ( rdfs:subClassOf + / rdfs:subClassOf  ) )
             .
             
and in property-path-734-B-workaround3.rq it is taken to (the working):
    ?A ( ( rdf:type  / rdfs:subClassOf ? ) | ( rdf:type  / rdfs:subClassOf + / rdfs:subClassOf  ) )
             .
 AbstractDataDrivenSPARQLTestCase.TestHelper, AbstractDataDrivenSPARQLTestCase.UpdateTestHelperAbstractDataAndSPARQLTestCase.AbsHelperTestCase2.MyProperties, TestCase2.RandomTypebaseURI, store, valueFactory_randomType| Constructor and Description | 
|---|
| TestTwoPropertyPaths734() | 
| TestTwoPropertyPaths734(String name) | 
| Modifier and Type | Method and Description | 
|---|---|
| void | test_both_property_paths() | 
| void | test_both_using_workaround_property_paths() | 
| void | test_both_using_workaround2_property_paths() | 
| void | test_both_using_workaround3_property_paths() | 
| void | test_both_using_workaround4_property_paths() | 
| void | test_first_property_path() | 
| void | test_first_using_workaround_property_path() | 
| void | test_minimal_opt_734() | 
| void | test_minimal_plus_734() | 
| void | test_minimal_star_734() | 
| void | test_no_property_paths() | 
| void | test_no_using_workaround_property_paths() | 
| void | test_second_property_path() | 
| void | test_second_using_workaround_property_path() | 
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 TestTwoPropertyPaths734()
public TestTwoPropertyPaths734(String name)
name - public void test_second_property_path()
                               throws Exception
Exceptionpublic void test_no_using_workaround_property_paths()
                                             throws Exception
Exceptionpublic void test_first_using_workaround_property_path()
                                               throws Exception
Exceptionpublic void test_second_using_workaround_property_path()
                                                throws Exception
Exceptionpublic void test_both_using_workaround_property_paths()
                                               throws Exception
Exceptionpublic void test_both_using_workaround2_property_paths()
                                                throws Exception
Exceptionpublic void test_both_using_workaround3_property_paths()
                                                throws Exception
Exceptionpublic void test_both_using_workaround4_property_paths()
                                                throws Exception
ExceptionCopyright © 2006–2019 SYSTAP, LLC DBA Blazegraph. All rights reserved.