ld4l-open_annotation_rdf 0.0.9 → 0.0.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: be008b834a274b739c225e52f62bfa4c37a71697
4
- data.tar.gz: 3aca1efc1bedf3b61e712c3fbd0488389ca61fce
3
+ metadata.gz: dead51a1f44d03f97a677dbefc02627755cde61f
4
+ data.tar.gz: c112a5480577c43081b804fedd85ee2ec26da318
5
5
  SHA512:
6
- metadata.gz: 36dc3096cfafdf1c841983eb7e842b778ac31bfbc931d73fe820dea3c6d369ca9c722cd5a1352d868ed97a11f6c1476b249bdcb6ed9153101beb2caf01063457
7
- data.tar.gz: 6b1f9d3946f037f1f5ac124f4236deea1ce3e760b821b668ef9d92ebfa31ecb2debba3d3fd81b450002025deb67e88878f870fabe7d5b62a3e9d02c58f06d2f0
6
+ metadata.gz: 6e0930ad32df385a13d6c6ea9b70c3b2793dcabeefa5d32bd51de3e11d72aeecce613eb5488cd2dd3669f8fa555cc1e683ff2c6ee08b80db9d07518d6cfbb7dc
7
+ data.tar.gz: 5aa4a659b04fd50778cde628597470700bb75c9bb90a58535b3c81f827811c8b85c6b769ed971f785a1c28206336fe9d2513c0ad4aea62a3c60ed71b25930dc8
@@ -23,7 +23,9 @@ module LD4L
23
23
 
24
24
  # get motivatedBy
25
25
  m = a.get_values(:motivatedBy)
26
- return a unless m.kind_of?(Array) && m.size > 0 && m.first.kind_of?(RDF::Vocabulary::Term)
26
+ # TODO: Should m's class be validated? I've seen it be RDF::Vocabulary::Term and RDF::URI. For now, removing the validation.
27
+ return a unless m.kind_of?(Array) && m.size > 0
28
+ # return a unless m.kind_of?(Array) && m.size > 0 && (m.first.kind_of?(RDF::Vocabulary::Term) || m.first.kind_of?(RDF::URI)
27
29
 
28
30
  # motivatedBy is set
29
31
  m_uri = m.first
@@ -4,10 +4,14 @@ module LD4L
4
4
 
5
5
  @localname_prefix = "sta"
6
6
 
7
+ property :hasBody, :predicate => RDFVocabularies::OA.hasBody, :class_name => LD4L::OpenAnnotationRDF::SemanticTagBody
8
+
9
+
7
10
  # USAGE: Use setTerm to set the hasBody property to be the URI of the controlled vocabulary term that
8
11
  # is the annotation.
9
12
 
10
13
  # TODO: Should a semantic tag be destroyed when the last annotation referencing the term is destroyed?
14
+ # TODO: What if other triples have been attached beyond the type?
11
15
 
12
16
  ##
13
17
  # Set the hasBody property to the URI of the controlled vocabulary term that is the annotation and
@@ -1,5 +1,5 @@
1
1
  module LD4L
2
2
  module OpenAnnotationRDF
3
- VERSION = "0.0.9"
3
+ VERSION = "0.0.10"
4
4
  end
5
5
  end
@@ -173,79 +173,285 @@ describe 'LD4L::OpenAnnotationRDF::Annotation' do
173
173
  LD4L::FoafRDF::Person.new('p4')
174
174
  end
175
175
 
176
- it "should resume an instance of CommentAnnotation" do
177
- a_time = Time::now.strftime("%Y-%m-%dT%H:%M:%S.%L%z")
178
- ca = LD4L::OpenAnnotationRDF::CommentAnnotation.new('ca_1')
179
- ca.hasTarget = RDF::URI("http://example.org/bibref/br3")
180
- ca.setComment("This is a comment.")
181
- ca.annotatedBy = a_person
182
- ca.annotatedAt = a_time
183
- ca.persist!
184
- expect(ca).to be_persisted
185
- uri = ca.rdf_subject
186
-
187
- a = LD4L::OpenAnnotationRDF::Annotation.resume(uri)
188
- expect(a).to be_a_kind_of(LD4L::OpenAnnotationRDF::CommentAnnotation)
189
- expect(a.hasTarget.first.rdf_subject.to_s).to eq "http://example.org/bibref/br3"
190
- expect(a.annotatedBy.first).to eq a_person
191
- expect(a.annotatedAt.first).to eq a_time
192
- expect(a.motivatedBy.first).to eq RDFVocabularies::OA.commenting
193
-
194
- b = a.getBody
195
- expect(b).to be_a_kind_of(LD4L::OpenAnnotationRDF::CommentBody)
196
- expect(b.type).to include RDFVocabularies::DCTYPES.Text
197
- expect(b.type).to include RDFVocabularies::CNT.ContentAsText
198
- expect(b.content).to eq ["This is a comment."]
199
- expect(b.format.first).to eq "text/plain"
200
- end
201
-
202
- it "should resume an instance of TagAnnotation" do
203
- a_time = Time::now.strftime("%Y-%m-%dT%H:%M:%S.%L%z")
204
- ta = LD4L::OpenAnnotationRDF::TagAnnotation.new('ta_2')
205
- ta.hasTarget = RDF::URI("http://example.org/bibref/br3")
206
- ta.setTag("good")
207
- ta.annotatedBy = a_person
208
- ta.annotatedAt = a_time
209
- ta.persist!
210
- expect(ta).to be_persisted
211
- uri = ta.rdf_subject
212
-
213
- a = LD4L::OpenAnnotationRDF::Annotation.resume(uri)
214
- expect(a).to be_a_kind_of(LD4L::OpenAnnotationRDF::TagAnnotation)
215
- expect(a.hasTarget.first.rdf_subject.to_s).to eq "http://example.org/bibref/br3"
216
- expect(a.annotatedBy.first).to eq a_person
217
- expect(a.annotatedAt.first).to eq a_time
218
- expect(a.motivatedBy.first).to eq RDFVocabularies::OA.tagging
219
-
220
- b = a.getBody
221
- expect(b).to be_a_kind_of(LD4L::OpenAnnotationRDF::TagBody)
222
- expect(b.type).to include RDFVocabularies::OA.Tag
223
- expect(b.type).to include RDFVocabularies::CNT.ContentAsText
224
- expect(b.tag).to eq ["good"]
225
- end
226
-
227
- it "should resume an instance of SemanticTagAnnotation" do
228
- a_time = Time::now.strftime("%Y-%m-%dT%H:%M:%S.%L%z")
229
- sta = LD4L::OpenAnnotationRDF::SemanticTagAnnotation.new('sta_3')
230
- sta.hasTarget = RDF::URI("http://example.org/bibref/br3")
231
- sta.setTerm('http://example.org/term/3')
232
- sta.annotatedBy = a_person
233
- sta.annotatedAt = a_time
234
- sta.persist!
235
- expect(sta).to be_persisted
236
- uri = sta.rdf_subject
237
-
238
- a = LD4L::OpenAnnotationRDF::Annotation.resume(uri)
239
- expect(a).to be_a_kind_of(LD4L::OpenAnnotationRDF::SemanticTagAnnotation)
240
- expect(a.hasTarget.first.rdf_subject.to_s).to eq "http://example.org/bibref/br3"
241
- expect(a.annotatedBy.first).to eq a_person
242
- expect(a.annotatedAt.first).to eq a_time
243
- expect(a.motivatedBy.first).to eq RDFVocabularies::OA.tagging
244
-
245
- b = a.getBody
246
- expect(b).to be_a_kind_of(LD4L::OpenAnnotationRDF::SemanticTagBody)
247
- expect(b.type).to include RDFVocabularies::OA.SemanticTag
248
- expect(b.rdf_subject.to_s).to eq('http://example.org/term/3')
176
+ context "when annotation body is persisted" do
177
+ it "should resume an instance of CommentAnnotation and its body" do
178
+ a_time = Time::now.strftime("%Y-%m-%dT%H:%M:%S.%L%z")
179
+ ca = LD4L::OpenAnnotationRDF::CommentAnnotation.new('ca_1')
180
+ ca.hasTarget = RDF::URI("http://example.org/bibref/br3")
181
+ ca.setComment("This is a comment.")
182
+ ca.annotatedBy = a_person
183
+ ca.annotatedAt = a_time
184
+ ca.persist!
185
+ expect(ca).to be_persisted
186
+ uri = ca.rdf_subject
187
+
188
+ a = LD4L::OpenAnnotationRDF::Annotation.resume(uri)
189
+ expect(a).to be_a_kind_of(LD4L::OpenAnnotationRDF::CommentAnnotation)
190
+ expect(a.hasTarget.first.rdf_subject.to_s).to eq "http://example.org/bibref/br3"
191
+ expect(a.annotatedBy.first).to eq a_person
192
+ expect(a.annotatedAt.first).to eq a_time
193
+ expect(a.motivatedBy.first).to eq RDFVocabularies::OA.commenting
194
+
195
+ b = a.getBody
196
+ expect(b).to be_a_kind_of(LD4L::OpenAnnotationRDF::CommentBody)
197
+ expect(b.type).to include RDFVocabularies::DCTYPES.Text
198
+ expect(b.type).to include RDFVocabularies::CNT.ContentAsText
199
+ expect(b.content).to eq ["This is a comment."]
200
+ expect(b.format.first).to eq "text/plain"
201
+ end
202
+
203
+ it "should resume an instance of TagAnnotation and its body" do
204
+ a_time = Time::now.strftime("%Y-%m-%dT%H:%M:%S.%L%z")
205
+ ta = LD4L::OpenAnnotationRDF::TagAnnotation.new('ta_2')
206
+ ta.hasTarget = RDF::URI("http://example.org/bibref/br3")
207
+ ta.setTag("good")
208
+ ta.annotatedBy = a_person
209
+ ta.annotatedAt = a_time
210
+ ta.persist!
211
+ expect(ta).to be_persisted
212
+ uri = ta.rdf_subject
213
+
214
+ a = LD4L::OpenAnnotationRDF::Annotation.resume(uri)
215
+ expect(a).to be_a_kind_of(LD4L::OpenAnnotationRDF::TagAnnotation)
216
+ expect(a.hasTarget.first.rdf_subject.to_s).to eq "http://example.org/bibref/br3"
217
+ expect(a.annotatedBy.first).to eq a_person
218
+ expect(a.annotatedAt.first).to eq a_time
219
+ expect(a.motivatedBy.first).to eq RDFVocabularies::OA.tagging
220
+
221
+ b = a.getBody
222
+ expect(b).to be_a_kind_of(LD4L::OpenAnnotationRDF::TagBody)
223
+ expect(b.type).to include RDFVocabularies::OA.Tag
224
+ expect(b.type).to include RDFVocabularies::CNT.ContentAsText
225
+ expect(b.tag).to eq ["good"]
226
+ end
227
+
228
+ it "should resume an instance of SemanticTagAnnotation and its body" do
229
+ a_time = Time::now.strftime("%Y-%m-%dT%H:%M:%S.%L%z")
230
+ sta = LD4L::OpenAnnotationRDF::SemanticTagAnnotation.new('sta_3')
231
+ sta.hasTarget = RDF::URI("http://example.org/bibref/br3")
232
+ sta.setTerm('http://example.org/term/3')
233
+ sta.annotatedBy = a_person
234
+ sta.annotatedAt = a_time
235
+ sta.persist!
236
+ expect(sta).to be_persisted
237
+ uri = sta.rdf_subject
238
+
239
+ a = LD4L::OpenAnnotationRDF::Annotation.resume(uri)
240
+ expect(a).to be_a_kind_of(LD4L::OpenAnnotationRDF::SemanticTagAnnotation)
241
+ expect(a.hasTarget.first.rdf_subject.to_s).to eq "http://example.org/bibref/br3"
242
+ expect(a.annotatedBy.first).to eq a_person
243
+ expect(a.annotatedAt.first).to eq a_time
244
+ expect(a.motivatedBy.first).to eq RDFVocabularies::OA.tagging
245
+
246
+ b = a.getBody
247
+ expect(b).to be_a_kind_of(LD4L::OpenAnnotationRDF::SemanticTagBody)
248
+ expect(b.type).to include RDFVocabularies::OA.SemanticTag
249
+ expect(b.rdf_subject.to_s).to eq('http://example.org/term/3')
250
+ end
251
+ end
252
+
253
+ context "when annotation body is a blank node" do
254
+ it "should resume an instance of CommentAnnotation and a blank node body" do
255
+ a_time = Time::now.strftime("%Y-%m-%dT%H:%M:%S.%L%z")
256
+ ca = LD4L::OpenAnnotationRDF::CommentAnnotation.new('ca_1')
257
+ ca.hasTarget = RDF::URI("http://example.org/bibref/br3")
258
+
259
+ cb = LD4L::OpenAnnotationRDF::CommentBody.new # create body as blank node
260
+ cb.content = "BLANK NODE COMMENT"
261
+ cb.format = "text/plain"
262
+ cb.persist!
263
+ expect(cb).to be_persisted
264
+
265
+ ca.hasBody = cb
266
+ ca.annotatedBy = a_person
267
+ ca.annotatedAt = a_time
268
+ ca.persist!
269
+ expect(ca).to be_persisted
270
+ uri = ca.rdf_subject
271
+
272
+ a = LD4L::OpenAnnotationRDF::Annotation.resume(uri)
273
+ expect(a).to be_a_kind_of(LD4L::OpenAnnotationRDF::CommentAnnotation)
274
+ expect(a.hasTarget.first.rdf_subject.to_s).to eq "http://example.org/bibref/br3"
275
+ expect(a.annotatedBy.first).to eq a_person
276
+ expect(a.annotatedAt.first).to eq a_time
277
+ expect(a.motivatedBy.first).to eq RDFVocabularies::OA.commenting
278
+
279
+ b = a.getBody
280
+ expect(b).to be_a_kind_of(LD4L::OpenAnnotationRDF::CommentBody)
281
+ expect(b.type).to include RDFVocabularies::DCTYPES.Text
282
+ expect(b.type).to include RDFVocabularies::CNT.ContentAsText
283
+ expect(b.content).to eq ["BLANK NODE COMMENT"]
284
+ expect(b.format.first).to eq "text/plain"
285
+ end
286
+
287
+ it "should resume an instance of TagAnnotation and a blank node body" do
288
+ a_time = Time::now.strftime("%Y-%m-%dT%H:%M:%S.%L%z")
289
+ ta = LD4L::OpenAnnotationRDF::TagAnnotation.new('ta_4')
290
+ ta.hasTarget = RDF::URI("http://example.org/bibref/br3")
291
+ ta.annotatedBy = a_person
292
+ ta.annotatedAt = a_time
293
+
294
+ tb = LD4L::OpenAnnotationRDF::TagBody.new # create body as blank node
295
+ tb.tag = "BLANK_NODE_TAG"
296
+ tb.persist!
297
+ expect(tb).to be_persisted
298
+
299
+ ta.hasBody = tb
300
+ ta.persist!
301
+ expect(ta).to be_persisted
302
+ uri = ta.rdf_subject
303
+
304
+ a = LD4L::OpenAnnotationRDF::Annotation.resume(uri)
305
+ expect(a).to be_a_kind_of(LD4L::OpenAnnotationRDF::TagAnnotation)
306
+ expect(a.hasTarget.first.rdf_subject.to_s).to eq "http://example.org/bibref/br3"
307
+ expect(a.annotatedBy.first).to eq a_person
308
+ expect(a.annotatedAt.first).to eq a_time
309
+ expect(a.motivatedBy.first).to eq RDFVocabularies::OA.tagging
310
+
311
+ b = a.getBody
312
+ expect(b).to be_a_kind_of(LD4L::OpenAnnotationRDF::TagBody)
313
+ expect(b.type).to include RDFVocabularies::OA.Tag
314
+ expect(b.type).to include RDFVocabularies::CNT.ContentAsText
315
+ expect(b.tag).to eq ["BLANK_NODE_TAG"]
316
+ end
317
+
318
+ it "should resume an instance of SemanticTagAnnotation and body object is missing" do
319
+
320
+
321
+ # SKIPPED FOR REWRITE FOR BLANK NODE
322
+ # pending ("rewrite for blank node")
323
+
324
+
325
+ a_time = Time::now.strftime("%Y-%m-%dT%H:%M:%S.%L%z")
326
+ sta = LD4L::OpenAnnotationRDF::SemanticTagAnnotation.new('sta_3')
327
+ sta.hasTarget = RDF::URI("http://example.org/bibref/br3")
328
+ sta.hasBody = RDF::URI('http://example.org/term/3') # don't create a cooresponding body object
329
+ sta.annotatedBy = a_person
330
+ sta.annotatedAt = a_time
331
+ sta.persist!
332
+ expect(sta).to be_persisted
333
+ uri = sta.rdf_subject
334
+
335
+ a = LD4L::OpenAnnotationRDF::Annotation.resume(uri)
336
+ expect(a).to be_a_kind_of(LD4L::OpenAnnotationRDF::SemanticTagAnnotation)
337
+ expect(a.hasTarget.first.rdf_subject.to_s).to eq "http://example.org/bibref/br3"
338
+ expect(a.annotatedBy.first).to eq a_person
339
+ expect(a.annotatedAt.first).to eq a_time
340
+ expect(a.motivatedBy.first).to eq RDFVocabularies::OA.tagging
341
+
342
+ b = a.getBody
343
+ expect(b).to be_a_kind_of(LD4L::OpenAnnotationRDF::SemanticTagBody)
344
+ expect(b.type).to include RDFVocabularies::OA.SemanticTag
345
+ expect(b.rdf_subject.to_s).to eq('http://example.org/term/3')
346
+ end
347
+ end
348
+
349
+ context "when loading from graph" do
350
+ context "and has blank node for body" do
351
+ context "and triples represent a comment annotation" do
352
+ before(:each) do
353
+ @anno_url = "http://my_oa_store/COMMENT_ANNO"
354
+ @comment_value = "This is a comment."
355
+ ttl = "<#{@anno_url}> a <http://www.w3.org/ns/oa#Annotation>;
356
+ <http://www.w3.org/ns/oa#hasBody> [
357
+ a <http://purl.org/dc/dcmitype/Text>,
358
+ <http://www.w3.org/2011/content#ContentAsText>;
359
+ <http://www.w3.org/2011/content#chars> \"#{@comment_value}\" ;
360
+ <http://purl.org/dc/terms/format> \"text/plain\"
361
+ ];
362
+ <http://www.w3.org/ns/oa#hasTarget> <http://searchworks.stanford.edu/view/666>;
363
+ <http://www.w3.org/ns/oa#motivatedBy> <http://www.w3.org/ns/oa#commenting> ."
364
+
365
+ anno_graph = RDF::Graph.new.from_ttl ttl
366
+ r = ActiveTriples::Repositories.repositories[:default]
367
+ r << anno_graph
368
+ anno_uri = RDF::URI.new(@anno_url)
369
+ @comment_anno = LD4L::OpenAnnotationRDF::Annotation.resume(anno_uri)
370
+ end
371
+ it "populates LD4L::OpenAnnotationRDF::TagAnnotation properly" do
372
+ expect(@comment_anno.rdf_subject.to_s).to eq @anno_url
373
+ expect(@comment_anno).to be_a LD4L::OpenAnnotationRDF::CommentAnnotation
374
+ expect(@comment_anno.type).to include(RDFVocabularies::OA.Annotation)
375
+ expect(@comment_anno.motivatedBy).to include(RDFVocabularies::OA.commenting)
376
+ expect(@comment_anno.hasTarget.first.rdf_subject).to eq RDF::URI.new("http://searchworks.stanford.edu/view/666")
377
+ end
378
+ it "populates Tag bodies properly" do
379
+ body = @comment_anno.hasBody.first
380
+ expect(body).to be_a LD4L::OpenAnnotationRDF::CommentBody
381
+ expect(body.content.first).to eq @comment_value
382
+ expect(body.type).to include(RDFVocabularies::CNT.ContentAsText)
383
+ expect(body.type).to include(RDFVocabularies::DCTYPES.Text)
384
+ end
385
+ end
386
+
387
+ context "and triples represent a tag annotation" do
388
+ before(:each) do
389
+ @anno_url = "http://my_oa_store/TAG_ANNO"
390
+ @tag_value = "blue"
391
+ ttl = "<#{@anno_url}> a <http://www.w3.org/ns/oa#Annotation>;
392
+ <http://www.w3.org/ns/oa#hasBody> [
393
+ a <http://purl.org/dc/dcmitype/Text>,
394
+ <http://www.w3.org/2011/content#ContentAsText>,
395
+ <http://www.w3.org/ns/oa#Tag>;
396
+ <http://www.w3.org/2011/content#chars> \"#{@tag_value}\" ;
397
+ <http://purl.org/dc/terms/format> \"text/plain\"
398
+ ];
399
+ <http://www.w3.org/ns/oa#hasTarget> <http://searchworks.stanford.edu/view/666>;
400
+ <http://www.w3.org/ns/oa#motivatedBy> <http://www.w3.org/ns/oa#tagging> ."
401
+
402
+ anno_graph = RDF::Graph.new.from_ttl ttl
403
+ r = ActiveTriples::Repositories.repositories[:default]
404
+ r << anno_graph
405
+ anno_uri = RDF::URI.new(@anno_url)
406
+ @tag_anno = LD4L::OpenAnnotationRDF::Annotation.resume(anno_uri)
407
+ end
408
+ it "populates LD4L::OpenAnnotationRDF::TagAnnotation properly" do
409
+ expect(@tag_anno.rdf_subject.to_s).to eq @anno_url
410
+ expect(@tag_anno).to be_a LD4L::OpenAnnotationRDF::TagAnnotation
411
+ expect(@tag_anno.type).to include(RDFVocabularies::OA.Annotation)
412
+ expect(@tag_anno.motivatedBy).to include(RDFVocabularies::OA.tagging)
413
+ expect(@tag_anno.hasTarget.first.rdf_subject).to eq RDF::URI.new("http://searchworks.stanford.edu/view/666")
414
+ end
415
+ it "populates Tag bodies properly" do
416
+ body = @tag_anno.hasBody.first
417
+ expect(body).to be_a LD4L::OpenAnnotationRDF::TagBody
418
+ expect(body.tag.first).to eq @tag_value
419
+ expect(body.type).to include(RDFVocabularies::OA.Tag)
420
+ expect(body.type).to include(RDFVocabularies::CNT.ContentAsText)
421
+ expect(body.type).to include(RDFVocabularies::DCTYPES.Text)
422
+ end
423
+ end
424
+
425
+ context "and triples represent a semantic tag annotation" do
426
+ before(:each) do
427
+ @anno_url = "http://my_oa_store/SEMANTIC_TAG_ANNO"
428
+ @term_url = "http://example.org/terms/foo"
429
+ ttl = "<#{@anno_url}> a <http://www.w3.org/ns/oa#Annotation>;
430
+ <http://www.w3.org/ns/oa#hasBody> <#{@term_url}>;
431
+ <http://www.w3.org/ns/oa#hasTarget> <http://searchworks.stanford.edu/view/666>;
432
+ <http://www.w3.org/ns/oa#motivatedBy> <http://www.w3.org/ns/oa#tagging> ."
433
+
434
+ anno_graph = RDF::Graph.new.from_ttl ttl
435
+ r = ActiveTriples::Repositories.repositories[:default]
436
+ r << anno_graph
437
+ anno_uri = RDF::URI.new(@anno_url)
438
+ @semantic_tag_anno = LD4L::OpenAnnotationRDF::Annotation.resume(anno_uri)
439
+ end
440
+ it "populates LD4L::OpenAnnotationRDF::TagAnnotation properly" do
441
+ expect(@semantic_tag_anno.rdf_subject.to_s).to eq @anno_url
442
+ expect(@semantic_tag_anno).to be_a LD4L::OpenAnnotationRDF::SemanticTagAnnotation
443
+ expect(@semantic_tag_anno.type).to include(RDFVocabularies::OA.Annotation)
444
+ expect(@semantic_tag_anno.motivatedBy).to include(RDFVocabularies::OA.tagging)
445
+ expect(@semantic_tag_anno.hasTarget.first.rdf_subject).to eq RDF::URI.new("http://searchworks.stanford.edu/view/666")
446
+ end
447
+ it "populates Tag bodies properly" do
448
+ body = @semantic_tag_anno.hasBody.first
449
+ expect(body.rdf_subject.to_s).to eq @term_url
450
+ expect(body).to be_a LD4L::OpenAnnotationRDF::SemanticTagBody
451
+ expect(body.type).to include(RDFVocabularies::OA.SemanticTag)
452
+ end
453
+ end
454
+ end
249
455
  end
250
456
  end
251
457
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ld4l-open_annotation_rdf
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.9
4
+ version: 0.0.10
5
5
  platform: ruby
6
6
  authors:
7
7
  - E. Lynette Rayle
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-01-13 00:00:00.000000000 Z
11
+ date: 2015-01-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rdf
@@ -226,3 +226,4 @@ test_files:
226
226
  - spec/ld4l/open_annotation_rdf/tag_body_spec.rb
227
227
  - spec/ld4l/open_annotation_rdf_spec.rb
228
228
  - spec/spec_helper.rb
229
+ has_rdoc: