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#> |