ld4l-open_annotation_rdf 0.0.10 → 0.0.11
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 +4 -4
- data/lib/ld4l/open_annotation_rdf/annotation.rb +30 -0
- data/lib/ld4l/open_annotation_rdf/comment_annotation.rb +10 -1
- data/lib/ld4l/open_annotation_rdf/semantic_tag_body.rb +2 -2
- data/lib/ld4l/open_annotation_rdf/tag_annotation.rb +9 -0
- data/lib/ld4l/open_annotation_rdf/tag_body.rb +4 -4
- data/lib/ld4l/open_annotation_rdf/version.rb +1 -1
- metadata +3 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 996d421c8a58b14c18ad5331339cc3b4a47aabcb
|
4
|
+
data.tar.gz: ebfc32df7ef5b5032f9a6cbd46e1ec4fc0752b51
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 869d278fc412af9c22df0397dd19060605d4dd07d82bd4e46a407dc6f38507fdb73e20acbc04c1a809e4ea3bf6c73ecddd2d0aa3fdd66241e6734bb69b8c2015
|
7
|
+
data.tar.gz: 0e1cfbad3520be214c5943787d625b40caeab7554edeec229dd9036015102ef0c3d3df06c52e45e213ff32e59f7eb674ffd74fc4ac3cebcb217f211a37b04a31
|
@@ -75,6 +75,36 @@ module LD4L
|
|
75
75
|
body_persisted = persisted && @body ? @body.persist! : false # persist body
|
76
76
|
persisted
|
77
77
|
end
|
78
|
+
|
79
|
+
##
|
80
|
+
# Find annotation by target.
|
81
|
+
#
|
82
|
+
# @param [String, RDF::URI] uri for the work
|
83
|
+
#
|
84
|
+
# @return true if annotation successfully persisted; otherwise, false
|
85
|
+
#
|
86
|
+
# @todo What to return if annotation persists fine, but body fails to persist?
|
87
|
+
def self::find_by_target(target_uri)
|
88
|
+
raise ArgumentError, 'target_uri argument must be a uri string or an instance of RDF::URI' unless
|
89
|
+
target_uri.kind_of?(String) && target_uri.size > 0 || target_uri.kind_of?(RDF::URI)
|
90
|
+
|
91
|
+
# raise ArgumentError, 'repository argument must be an instance of RDF::Repository' unless
|
92
|
+
# repository.kind_of?(RDF::Repository)
|
93
|
+
|
94
|
+
target_uri = RDF::URI(target_uri) unless target_uri.kind_of?(RDF::URI)
|
95
|
+
|
96
|
+
repo = ActiveTriples::Repositories.repositories[repository]
|
97
|
+
query = RDF::Query.new({
|
98
|
+
:annotation => {
|
99
|
+
RDF.type => RDFVocabularies::OA.Annotation,
|
100
|
+
RDFVocabularies::OA.hasTarget => target_uri,
|
101
|
+
}
|
102
|
+
})
|
103
|
+
annotations = []
|
104
|
+
results = query.execute(repo)
|
105
|
+
results.each { |r| annotations << r.to_hash[:annotation] }
|
106
|
+
annotations
|
107
|
+
end
|
78
108
|
end
|
79
109
|
end
|
80
110
|
end
|
@@ -12,7 +12,7 @@ module LD4L
|
|
12
12
|
#
|
13
13
|
# @param [String]
|
14
14
|
#
|
15
|
-
# @return instance of
|
15
|
+
# @return instance of CommentAnnotation
|
16
16
|
def setComment(comment)
|
17
17
|
@body = LD4L::OpenAnnotationRDF::CommentBody.new(
|
18
18
|
ActiveTriples::LocalName::Minter.generate_local_name(
|
@@ -24,6 +24,15 @@ module LD4L
|
|
24
24
|
@body
|
25
25
|
end
|
26
26
|
|
27
|
+
##
|
28
|
+
# Get the value of the comment stored in a comment annotation.
|
29
|
+
#
|
30
|
+
# @return text value of comment
|
31
|
+
def getComment
|
32
|
+
comments = @body.content
|
33
|
+
comments && comments.size > 0 ? comments.first : ""
|
34
|
+
end
|
35
|
+
|
27
36
|
##
|
28
37
|
# Special processing for new and resumed CommentAnnotations
|
29
38
|
#
|
@@ -27,7 +27,7 @@ module LD4L
|
|
27
27
|
term_uri = RDF::URI(term_uri) unless term_uri.kind_of?(RDF::URI)
|
28
28
|
|
29
29
|
# find usage by Annotations
|
30
|
-
|
30
|
+
repo = ActiveTriples::Repositories.repositories[repository]
|
31
31
|
query = RDF::Query.new({
|
32
32
|
:annotation => {
|
33
33
|
RDF.type => RDFVocabularies::OA.Annotation,
|
@@ -35,7 +35,7 @@ module LD4L
|
|
35
35
|
}
|
36
36
|
})
|
37
37
|
annotations = []
|
38
|
-
results = query.execute(
|
38
|
+
results = query.execute(repo)
|
39
39
|
results.each { |r| annotations << r.to_hash[:annotation] }
|
40
40
|
annotations
|
41
41
|
end
|
@@ -8,6 +8,15 @@ module LD4L
|
|
8
8
|
|
9
9
|
# TODO: Should a tag be destroyed when the last annotation referencing the tag is destroyed?
|
10
10
|
|
11
|
+
##
|
12
|
+
# Get the value of the tag stored in a tag annotation.
|
13
|
+
#
|
14
|
+
# @return text value of tag
|
15
|
+
def getTag
|
16
|
+
tags = @body.tag
|
17
|
+
tags && tags.size > 0 ? tags.first : "" # TODO What is the appropriate default value for a tag?
|
18
|
+
end
|
19
|
+
|
11
20
|
##
|
12
21
|
# Set the hasBody property to the URI of the one and only TagBody holding the tag value. Create a new TagBody
|
13
22
|
# if one doesn't exist with this value.
|
@@ -28,14 +28,14 @@ module LD4L
|
|
28
28
|
tag_uri = tb.rdf_subject
|
29
29
|
|
30
30
|
# find usage by Annotations
|
31
|
-
|
31
|
+
repo = ActiveTriples::Repositories.repositories[repository]
|
32
32
|
query = RDF::Query.new({
|
33
33
|
:annotation => {
|
34
34
|
RDF.type => RDFVocabularies::OA.Annotation,
|
35
35
|
RDFVocabularies::OA.hasBody => tag_uri,
|
36
36
|
}
|
37
37
|
})
|
38
|
-
results = query.execute(
|
38
|
+
results = query.execute(repo)
|
39
39
|
|
40
40
|
# process results
|
41
41
|
annotations = []
|
@@ -54,7 +54,7 @@ module LD4L
|
|
54
54
|
raise ArgumentError, 'Argument must be a string with at least one character' unless
|
55
55
|
tag_value.kind_of?(String) && tag_value.size > 0
|
56
56
|
|
57
|
-
|
57
|
+
repo = ActiveTriples::Repositories.repositories[repository]
|
58
58
|
query = RDF::Query.new({
|
59
59
|
:tagbody => {
|
60
60
|
RDF.type => RDFVocabularies::OA.Tag,
|
@@ -63,7 +63,7 @@ module LD4L
|
|
63
63
|
})
|
64
64
|
|
65
65
|
tagbody = nil
|
66
|
-
results = query.execute(
|
66
|
+
results = query.execute(repo)
|
67
67
|
unless( results.empty? )
|
68
68
|
tagbody_uri = results[0].to_hash[:tagbody]
|
69
69
|
tagbody = LD4L::OpenAnnotationRDF::TagBody.new(tagbody_uri)
|
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.
|
4
|
+
version: 0.0.11
|
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-
|
11
|
+
date: 2015-02-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rdf
|
@@ -211,7 +211,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
211
211
|
version: '0'
|
212
212
|
requirements: []
|
213
213
|
rubyforge_project:
|
214
|
-
rubygems_version: 2.
|
214
|
+
rubygems_version: 2.4.3
|
215
215
|
signing_key:
|
216
216
|
specification_version: 4
|
217
217
|
summary: OpenAnnotation RDF models.
|
@@ -226,4 +226,3 @@ 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:
|