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