|
180 | 180 | end |
181 | 181 | end |
182 | 182 |
|
183 | | - # FIXME: quoted triples are deprecated |
184 | | - context "quoted triples" do |
185 | | - statements = { |
| 183 | + context "triple terms" do |
| 184 | + ill_statements = { |
186 | 185 | "subject-iii": '<<<http://example/s1> <http://example/p1> <http://example/o1>>> <http://example/p> <http://example/o> <http://example/g> .', |
187 | 186 | "subject-iib": '<<<http://example/s1> <http://example/p1> _:o1>> <http://example/p> <http://example/o> <http://example/g> .', |
188 | 187 | "subject-iil": '<<<http://example/s1> <http://example/p1> "o1">> <http://example/p> <http://example/o> <http://example/g> .', |
189 | 188 | "subject-bii": '<<_:s1 <http://example/p1> <http://example/o1>>> <http://example/p> <http://example/o> <http://example/g> .', |
190 | 189 | "subject-bib": '<<_:s1 <http://example/p1> _:o1>> <http://example/p> <http://example/o> <http://example/g> .', |
191 | 190 | "subject-bil": '<<_:s1 <http://example/p1> "o">> <http://example/p> <http://example/o> <http://example/g> .', |
192 | 191 | "subject-ws": '<< <http://example/s1> <http://example/p1> <http://example/o1> >> <http://example/p> <http://example/o> <http://example/g> .', |
193 | | - "object-iii": '<http://example/s> <http://example/p> <<<http://example/s1> <http://example/p1> <http://example/o1>>> <http://example/g> .', |
194 | | - "object-iib": '<http://example/s> <http://example/p> <<<http://example/s1> <http://example/p1> _:o1>> <http://example/g> .', |
195 | | - "object-iil": '<http://example/s> <http://example/p> <<<http://example/s1> <http://example/p1> "o1">> <http://example/g> .', |
196 | | - "object-ws": '<http://example/s> <http://example/p> << <http://example/s1> <http://example/p1> <http://example/o1> >> <http://example/g> .', |
| 192 | + "recursive-subject": '<<(<<(<http://example/s2> <http://example/p2> <http://example/o2>)>> <http://example/p1> <http://example/o1>)>> <http://example/p> <http://example/o> <http://example/g> .', |
| 193 | + } |
| 194 | + |
| 195 | + statements = { |
| 196 | + "object-iii": '<http://example/s> <http://example/p> <<(<http://example/s1> <http://example/p1> <http://example/o1>)>> <http://example/g> .', |
| 197 | + "object-iib": '<http://example/s> <http://example/p> <<(<http://example/s1> <http://example/p1> _:o1)>> <http://example/g> .', |
| 198 | + "object-iil": '<http://example/s> <http://example/p> <<(<http://example/s1> <http://example/p1> "o1")>> <http://example/g> .', |
| 199 | + "object-ws": '<http://example/s> <http://example/p> <<( <http://example/s1> <http://example/p1> <http://example/o1> )>> <http://example/g> .', |
197 | 200 | } |
198 | 201 |
|
199 | 202 | context "without rdfstar option" do |
200 | 203 | it "Raises an error" do |
201 | 204 | expect do |
202 | | - expect {RDF::Graph.new << described_class.new(statements.values.first)}.to raise_error(RDF::ReaderError) |
| 205 | + expect {RDF::Repository.new << RDF::NQuads::Reader.new(statements.values.first)}.to raise_error(RDF::ReaderError) |
203 | 206 | end.to write(:something).to(:error) |
204 | 207 | end |
205 | 208 | end |
206 | 209 |
|
207 | | - statements.each do |name, st| |
208 | | - context name do |
209 | | - let(:graph) do |
210 | | - g = RDF::Graph.new |
211 | | - expect do |
212 | | - g << RDF::NQuads::Reader.new(st, rdfstar: true) |
213 | | - end.to write('[DEPRECATION]').to(:error) |
214 | | - g |
| 210 | + context "with rdfstar option" do |
| 211 | + ill_statements.each do |name, st| |
| 212 | + context name do |
| 213 | + it "Raises an error" do |
| 214 | + expect do |
| 215 | + expect {RDF::Repository.new << RDF::NQuads::Reader.new(statements.values.first)}.to raise_error(RDF::ReaderError) |
| 216 | + end.to write(:something).to(:error) |
| 217 | + end |
215 | 218 | end |
| 219 | + end |
216 | 220 |
|
217 | | - it "creates two statements" do |
218 | | - expect(graph.count).to eql(1) |
219 | | - end |
| 221 | + statements.each do |name, st| |
| 222 | + context name do |
| 223 | + let(:graph) do |
| 224 | + RDF::Repository.new {|r| r << RDF::NQuads::Reader.new(st, rdfstar: true)} |
| 225 | + end |
| 226 | + |
| 227 | + it "creates a statement" do |
| 228 | + expect(graph.count).to eql(1) |
| 229 | + end |
220 | 230 |
|
221 | | - it "has a statement whose subject or object is a statement" do |
222 | | - referencing = graph.statements.first |
223 | | - expect(referencing).to be_a_statement |
224 | | - if referencing.subject.statement? |
225 | | - expect(referencing.subject).to be_a_statement |
226 | | - else |
| 231 | + it "statements which are object of another statement are triple terms" do |
| 232 | + referencing = graph.statements.first |
| 233 | + expect(referencing).to be_a_statement |
227 | 234 | expect(referencing.object).to be_a_statement |
| 235 | + expect(referencing.object).to be_tripleTerm |
228 | 236 | end |
229 | 237 | end |
230 | 238 | end |
|
0 commit comments