tao_rdfizer 0.9.6 → 0.9.7
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/tao_rdfizer/tao_rdfizer.rb +12 -10
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 510c76a8dbd9897ead7d835ffa1bb43836f6c068
|
4
|
+
data.tar.gz: e1de87cc310083754dfdd0c6d17fda5aa8a15f1d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 75cc47c9d95ae9d70b71bc1dd18176b701d973e62a1f14471895f6d1933a51e3bae5d742e6338516eb7ea3746a681c7f41ef1f0b8459c1022925a3ce6f32a21b
|
7
|
+
data.tar.gz: 8e5999f7110ae94ba1a456893a21d41693193da7cabb3f0944f2f1bf264e893404acfaa85163e86f648519448c1419cfdc3d0bbee76858a4dc52066ba3735557
|
@@ -22,13 +22,15 @@ class TAO::RDFizer
|
|
22
22
|
def rdfize(annotations_col)
|
23
23
|
# namespaces
|
24
24
|
namespaces = {}
|
25
|
+
|
25
26
|
anns = annotations_col.first
|
27
|
+
prefix_for_this = anns[:project].downcase.gsub(/ /, '_')
|
26
28
|
anns[:namespaces].each {|n| namespaces[n[:prefix]] = n[:uri]} unless anns[:namespaces].nil?
|
27
|
-
raise ArgumentError, "'
|
29
|
+
raise ArgumentError, "'#{prefix_for_this}' is a reserved prefix for this project." if namespaces.has_key?(prefix_for_this)
|
28
30
|
|
29
31
|
unless @mode ==:spans
|
30
32
|
project_uri = 'http://pubannotation.org/projects/' + anns[:project] unless @mode ==:spans
|
31
|
-
namespaces[
|
33
|
+
namespaces[prefix_for_this] = project_uri + '/'
|
32
34
|
end
|
33
35
|
|
34
36
|
denotations = []
|
@@ -59,15 +61,15 @@ class TAO::RDFizer
|
|
59
61
|
_denotations.each do |d|
|
60
62
|
span_uri = "<#{text_uri}/spans/#{d[:span][:begin]}-#{d[:span][:end]}>"
|
61
63
|
d[:span_uri] = span_uri
|
62
|
-
d[:obj_uri] = "
|
63
|
-
d[:cls_uri] = find_uri(d[:obj], namespaces)
|
64
|
+
d[:obj_uri] = "#{prefix_for_this}:#{text_id}-#{d[:id]}"
|
65
|
+
d[:cls_uri] = find_uri(d[:obj], namespaces, prefix_for_this)
|
64
66
|
end
|
65
67
|
|
66
68
|
# relations preprocessing
|
67
69
|
_relations.each do |r|
|
68
|
-
r[:subj_uri] = "
|
69
|
-
r[:obj_uri] = "
|
70
|
-
r[:pred_uri] = find_uri(r[:pred], namespaces)
|
70
|
+
r[:subj_uri] = "#{prefix_for_this}:#{text_id}-#{r[:subj]}"
|
71
|
+
r[:obj_uri] = "#{prefix_for_this}:#{text_id}-#{r[:obj]}"
|
72
|
+
r[:pred_uri] = find_uri(r[:pred], namespaces, prefix_for_this)
|
71
73
|
end
|
72
74
|
|
73
75
|
unless @mode == :annotations
|
@@ -155,7 +157,7 @@ class TAO::RDFizer
|
|
155
157
|
return sourcedb, sourceid, divid
|
156
158
|
end
|
157
159
|
|
158
|
-
def find_uri (label, namespaces)
|
160
|
+
def find_uri (label, namespaces, prefix_for_this)
|
159
161
|
delimiter_position = label.index(':')
|
160
162
|
if !delimiter_position.nil? && namespaces.keys.include?(label[0...delimiter_position])
|
161
163
|
label
|
@@ -165,9 +167,9 @@ class TAO::RDFizer
|
|
165
167
|
clabel = if label.match(/^\W+$/)
|
166
168
|
'SYM'
|
167
169
|
else
|
168
|
-
label.sub(/^\W+/, '').sub(/\W+$/, '')
|
170
|
+
label.sub(/^\W+/, '').sub(/\W+$/, '').gsub(/ +/, '_')
|
169
171
|
end
|
170
|
-
namespaces.has_key?('_base') ? "<#{clabel}>" : "
|
172
|
+
namespaces.has_key?('_base') ? "<#{clabel}>" : "#{prefix_for_this}:#{clabel}"
|
171
173
|
end
|
172
174
|
end
|
173
175
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: tao_rdfizer
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.9.
|
4
|
+
version: 0.9.7
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jin-Dong Kim
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-01-
|
11
|
+
date: 2018-01-24 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: It uses TAO (text annotation ontology) for representation of annotations
|
14
14
|
to text.
|