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.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/tao_rdfizer/tao_rdfizer.rb +12 -10
  3. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 99c013205e49cb6ce41f7d63e78412eaa8a12cb7
4
- data.tar.gz: 5ad48d32520eb108eea9a2ca3b3a2bfcafcb0134
3
+ metadata.gz: 510c76a8dbd9897ead7d835ffa1bb43836f6c068
4
+ data.tar.gz: e1de87cc310083754dfdd0c6d17fda5aa8a15f1d
5
5
  SHA512:
6
- metadata.gz: '08336f7d0521f5829eb38f0ea43e21513b22ed6f9c3414bbffd29287e31762c41212126bc3d4b9e77b768b12eeabbf1ab46e6b685bff808c1376488d11f6cb5d'
7
- data.tar.gz: c98609b92696b04160e9c9b9d73c23a069895c3698612be09884bf84aa78069e42e823e6765d1b8fe69756f306566dd8691088316b62a5e6be29d27704b17ec8
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, "'prj' is a reserved prefix." if namespaces.has_key?('prj')
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['prj'] = project_uri + '/'
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] = "prj:#{text_id}-#{d[:id]}"
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] = "prj:#{text_id}-#{r[:subj]}"
69
- r[:obj_uri] = "prj:#{text_id}-#{r[:obj]}"
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}>" : "prj:#{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.6
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-18 00:00:00.000000000 Z
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.