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.
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.