tao_rdfizer 0.9.9 → 0.9.10
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 +5 -5
- data/lib/tao_rdfizer/tao_rdfizer.rb +24 -19
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 839f30915cc8896477342a8cfdb87d8d4f23d8ffbbc133b9b0b087939050befe
|
4
|
+
data.tar.gz: bfa3efcbae03859f8a778afbf81f37daffec3467b537671cf5282c0905ed1d5f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2a9744b372d7a9774774262a17771c43533b44c3a95ad19cd7e60add25d6135afb3c85ecad8d6933ffdff61b39632be0386ecf9d85340f1f0bea1efc9176e8d5
|
7
|
+
data.tar.gz: 77f1d13bf567b6e5ed28668034da90e0810520358e2aa2d27dc747ce78f090316b1519be8f1b2a30050fce5a20408b46a932887c955979a217304c4a53cd709e
|
@@ -4,11 +4,11 @@ require 'erb'
|
|
4
4
|
module TAO; end unless defined? TAO
|
5
5
|
|
6
6
|
class TAO::RDFizer
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
7
|
+
# if mode == :spans then produces span descriptions
|
8
|
+
# if mode == :annotations then produces annotation descriptions
|
9
|
+
# if mode == nil then produces both
|
10
|
+
def initialize(mode = nil)
|
11
|
+
@mode = mode
|
12
12
|
template = if !mode.nil? && mode == :spans
|
13
13
|
ERB_SPANS_TTL
|
14
14
|
else
|
@@ -17,7 +17,7 @@ class TAO::RDFizer
|
|
17
17
|
|
18
18
|
@tao_ttl_erb = ERB.new(template, nil, '-')
|
19
19
|
@prefix_ttl_erb = ERB.new(ERB_PREFIXES_TTL, nil, '-')
|
20
|
-
|
20
|
+
end
|
21
21
|
|
22
22
|
def rdfize(annotations_col)
|
23
23
|
# namespaces
|
@@ -57,19 +57,23 @@ class TAO::RDFizer
|
|
57
57
|
end
|
58
58
|
end
|
59
59
|
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
60
|
+
begin
|
61
|
+
# denotations preprocessing
|
62
|
+
_denotations.each do |d|
|
63
|
+
span_uri = "<#{text_uri}/spans/#{d[:span][:begin]}-#{d[:span][:end]}>"
|
64
|
+
d[:span_uri] = span_uri
|
65
|
+
d[:obj_uri] = "#{prefix_for_this}:#{text_id}-#{d[:id]}"
|
66
|
+
d[:cls_uri] = find_uri(d[:obj], namespaces, prefix_for_this)
|
67
|
+
end
|
67
68
|
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
69
|
+
# relations preprocessing
|
70
|
+
_relations.each do |r|
|
71
|
+
r[:subj_uri] = "#{prefix_for_this}:#{text_id}-#{r[:subj]}"
|
72
|
+
r[:obj_uri] = "#{prefix_for_this}:#{text_id}-#{r[:obj]}"
|
73
|
+
r[:pred_uri] = find_uri(r[:pred], namespaces, prefix_for_this)
|
74
|
+
end
|
75
|
+
rescue ArgumentError => e
|
76
|
+
raise ArgumentError, "[#{sourcedb}-#{sourceid}] " + e
|
73
77
|
end
|
74
78
|
|
75
79
|
unless @mode == :annotations
|
@@ -158,6 +162,7 @@ class TAO::RDFizer
|
|
158
162
|
end
|
159
163
|
|
160
164
|
def find_uri (label, namespaces, prefix_for_this)
|
165
|
+
raise ArgumentError, "A label including a whitespace character found: #{label}." if label.match(/\s/)
|
161
166
|
delimiter_position = label.index(':')
|
162
167
|
if !delimiter_position.nil? && namespaces.keys.include?(label[0...delimiter_position])
|
163
168
|
label
|
@@ -193,7 +198,7 @@ class TAO::RDFizer
|
|
193
198
|
<% s[:children].each do |s| -%>
|
194
199
|
tao:contains <%= s[:span_uri] %> ;
|
195
200
|
<% end -%>
|
196
|
-
tao:has_text <%= s[:text].
|
201
|
+
tao:has_text <%= s[:text].inspect %> ;
|
197
202
|
tao:belongs_to <<%= s[:source_uri] %>> ;
|
198
203
|
tao:begins_at <%= s[:begin] %> ;
|
199
204
|
tao:ends_at <%= s[:end] %> .
|
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.10
|
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:
|
11
|
+
date: 2019-07-11 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.
|
@@ -41,7 +41,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
41
41
|
version: '0'
|
42
42
|
requirements: []
|
43
43
|
rubyforge_project:
|
44
|
-
rubygems_version: 2.
|
44
|
+
rubygems_version: 2.7.9
|
45
45
|
signing_key:
|
46
46
|
specification_version: 4
|
47
47
|
summary: A RDF statement generator for annotations in the PubAnnotation JSON format.
|