tao_rdfizer 0.9.6 → 0.9.7
Sign up to get free protection for your applications and to get access to all the features.
- 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.
|