test/unittest_spa2rql.py
changeset 2431 93c061eac647
parent 2428 a3e10e6a2461
child 2435 85be7a811afe
equal deleted inserted replaced
2430:7d9ed6c740ec 2431:93c061eac647
    22         self.assertEquals(qi.finalize(), rql)
    22         self.assertEquals(qi.finalize(), rql)
    23 
    23 
    24     def XXX_test_base_01(self):
    24     def XXX_test_base_01(self):
    25         self._test('SELECT * WHERE { }', 'Any X')
    25         self._test('SELECT * WHERE { }', 'Any X')
    26 
    26 
       
    27 
    27     def test_base_is(self):
    28     def test_base_is(self):
    28         self._test('''
    29         self._test('''
    29     PREFIX doap: <http://usefulinc.com/ns/doap#>
    30     PREFIX doap: <http://usefulinc.com/ns/doap#>
    30     SELECT ?project
    31     SELECT ?project
    31     WHERE  {
    32     WHERE  {
    40     WHERE  {
    41     WHERE  {
    41       ?project a doap:Project;
    42       ?project a doap:Project;
    42               doap:created ?created.
    43               doap:created ?created.
    43     }''', 'Any CREATED WHERE PROJECT creation_date CREATED, PROJECT is Project')
    44     }''', 'Any CREATED WHERE PROJECT creation_date CREATED, PROJECT is Project')
    44 
    45 
       
    46 
    45     def test_base_attr_sel_distinct(self):
    47     def test_base_attr_sel_distinct(self):
    46         self._test('''
    48         self._test('''
    47     PREFIX doap: <http://usefulinc.com/ns/doap#>
    49     PREFIX doap: <http://usefulinc.com/ns/doap#>
    48     SELECT DISTINCT ?name
    50     SELECT DISTINCT ?name
    49     WHERE  {
    51     WHERE  {
    50       ?project a doap:Project;
    52       ?project a doap:Project;
    51               doap:name ?name.
    53               doap:name ?name.
    52     }''', 'DISTINCT Any NAME WHERE PROJECT name NAME, PROJECT is Project')
    54     }''', 'DISTINCT Any NAME WHERE PROJECT name NAME, PROJECT is Project')
       
    55 
    53 
    56 
    54     def test_base_attr_sel_reduced(self):
    57     def test_base_attr_sel_reduced(self):
    55         self._test('''
    58         self._test('''
    56     PREFIX doap: <http://usefulinc.com/ns/doap#>
    59     PREFIX doap: <http://usefulinc.com/ns/doap#>
    57     SELECT REDUCED ?name
    60     SELECT REDUCED ?name
    59       ?project a doap:Project;
    62       ?project a doap:Project;
    60               doap:name ?name.
    63               doap:name ?name.
    61     }''', 'Any NAME WHERE PROJECT name NAME, PROJECT is Project')
    64     }''', 'Any NAME WHERE PROJECT name NAME, PROJECT is Project')
    62 
    65 
    63 
    66 
       
    67     def test_base_attr_sel_limit_offset(self):
       
    68         self._test('''
       
    69     PREFIX doap: <http://usefulinc.com/ns/doap#>
       
    70     SELECT ?name
       
    71     WHERE  {
       
    72       ?project a doap:Project;
       
    73               doap:name ?name.
       
    74     }
       
    75     LIMIT 20''', 'Any NAME LIMIT 20 WHERE PROJECT name NAME, PROJECT is Project')
       
    76         self._test('''
       
    77     PREFIX doap: <http://usefulinc.com/ns/doap#>
       
    78     SELECT ?name
       
    79     WHERE  {
       
    80       ?project a doap:Project;
       
    81               doap:name ?name.
       
    82     }
       
    83     LIMIT 20 OFFSET 10''', 'Any NAME LIMIT 20 OFFSET 10 WHERE PROJECT name NAME, PROJECT is Project')
       
    84 
       
    85 
       
    86     def test_base_attr_sel_orderby(self):
       
    87         self._test('''
       
    88     PREFIX doap: <http://usefulinc.com/ns/doap#>
       
    89     SELECT ?name
       
    90     WHERE  {
       
    91       ?project a doap:Project;
       
    92               doap:name ?name;
       
    93               doap:created ?created.
       
    94     }
       
    95     ORDER BY ?name DESC(?created)''', 'Any NAME ORDERBY NAME ASC, CREATED DESC WHERE PROJECT name NAME, PROJECT creation_date CREATED, PROJECT is Project')
       
    96 
       
    97 
    64     def test_base_any_attr_sel(self):
    98     def test_base_any_attr_sel(self):
    65         self._test('''
    99         self._test('''
    66     PREFIX dc: <http://purl.org/dc/elements/1.1/>
   100     PREFIX dc: <http://purl.org/dc/elements/1.1/>
    67     SELECT ?x ?cd
   101     SELECT ?x ?cd
    68     WHERE  {
   102     WHERE  {
    69       ?x dc:date ?cd;
   103       ?x dc:date ?cd;
    70     }''', 'Any X, CD WHERE X creation_date CD')
   104     }''', 'Any X, CD WHERE X creation_date CD')
       
   105 
    71 
   106 
    72     def test_base_any_attr_sel_amb(self):
   107     def test_base_any_attr_sel_amb(self):
    73         xy.add_equivalence('Version publication_date', 'doap:Version dc:date')
   108         xy.add_equivalence('Version publication_date', 'doap:Version dc:date')
    74         try:
   109         try:
    75             self._test('''
   110             self._test('''
    76     PREFIX dc: <http://purl.org/dc/elements/1.1/>
   111     PREFIX dc: <http://purl.org/dc/elements/1.1/>
    77     SELECT ?x ?cd
   112     SELECT ?x ?cd
    78     WHERE  {
   113     WHERE  {
    79       ?x dc:date ?cd;
   114       ?x dc:date ?cd;
    80     }''', '(Any X, CD WHERE , X creation_date CD) UNION (Any X, CD WHERE , X publication_date CD, X is Version)')
   115     }''', '(Any X, CD WHERE , X creation_date CD) UNION (Any X, CD WHERE , X publication_date CD, X is Version)')
       
   116         finally:
       
   117             xy.remove_equivalence('Version publication_date', 'doap:Version dc:date')
       
   118 
       
   119 
       
   120     def test_base_any_attr_sel_amb_limit_offset(self):
       
   121         xy.add_equivalence('Version publication_date', 'doap:Version dc:date')
       
   122         try:
       
   123             self._test('''
       
   124     PREFIX dc: <http://purl.org/dc/elements/1.1/>
       
   125     SELECT ?x ?cd
       
   126     WHERE  {
       
   127       ?x dc:date ?cd;
       
   128     }
       
   129     LIMIT 20 OFFSET 10''', 'Any X, CD LIMIT 20 OFFSET 10 WITH X, CD BEING ((Any X, CD WHERE , X creation_date CD) UNION (Any X, CD WHERE , X publication_date CD, X is Version))')
       
   130         finally:
       
   131             xy.remove_equivalence('Version publication_date', 'doap:Version dc:date')
       
   132 
       
   133 
       
   134     def test_base_any_attr_sel_amb_orderby(self):
       
   135         xy.add_equivalence('Version publication_date', 'doap:Version dc:date')
       
   136         try:
       
   137             self._test('''
       
   138     PREFIX dc: <http://purl.org/dc/elements/1.1/>
       
   139     SELECT ?x ?cd
       
   140     WHERE  {
       
   141       ?x dc:date ?cd;
       
   142     }
       
   143     ORDER BY DESC(?cd)''', 'Any X, CD ORDERBY CD DESC WITH X, CD BEING ((Any X, CD WHERE , X creation_date CD) UNION (Any X, CD WHERE , X publication_date CD, X is Version))')
    81         finally:
   144         finally:
    82             xy.remove_equivalence('Version publication_date', 'doap:Version dc:date')
   145             xy.remove_equivalence('Version publication_date', 'doap:Version dc:date')
    83 
   146 
    84 # # Two elements in the group
   147 # # Two elements in the group
    85 # PREFIX :  <http://example.org/ns#>
   148 # PREFIX :  <http://example.org/ns#>