ttl2html 0.0.2 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 6d8e9b243f7b3fedc2e763b8c6bcce2ec517e032
4
- data.tar.gz: 9148fdcd2b30cb2742b2f51f870a30469d50e10a
2
+ SHA256:
3
+ metadata.gz: 0c95b74b2613072aae70c851b0e1b2567f119f94ad65941eb55f959b1dc8ddbb
4
+ data.tar.gz: c2d7fc3598280fed3a810607676fbf90e17fe8dd643938cf7d317ff7653fde4e
5
5
  SHA512:
6
- metadata.gz: 3418c27b8b4717bc1e47129c4053ff79ae60c3bb78fdbbf3b93026df614fd6291b2306ec7b2f702947704a1d2eecdd438f5f895cb3ac7f8c5b52ff657186aee3
7
- data.tar.gz: 6f5e096d73d49da8b79543b01f7e197c472f31da5376ef0609bba88cc943ccdc0ab0d6d3bb7c7bed986a061f870beb518aa4307529474020ffd89df9c443dc85
6
+ metadata.gz: d79903be0b615e45f728987f624d4bed6d9974b94862cdf1f13f325eb448446a22c298fa3aa5ad4b034a69c08b8fdc7a31b64f57fe49aa5cd1250fae6d5d6c96
7
+ data.tar.gz: ee14d78dc2b449b28b759808d165435abb1b818441e04da8f77e63ebffd87392b8d1ced170e58cea68b886a51a52d95ef1717d0393079caadbf12c0d24a7442e
@@ -32,7 +32,7 @@ module TTL2HTML
32
32
  @param.update(param)
33
33
  template = find_template_path(template)
34
34
  tmpl = open(template){|io| io.read }
35
- erb = ERB.new(tmpl, $SAFE, "-")
35
+ erb = ERB.new(tmpl, nil, "-")
36
36
  erb.filename = template
37
37
  erb.result(binding)
38
38
  end
@@ -83,6 +83,8 @@ module TTL2HTML
83
83
  def get_language_literal(object)
84
84
  if object.respond_to? :has_key?
85
85
  object.values.first
86
+ elsif object.is_a? Array
87
+ object.first
86
88
  else
87
89
  object
88
90
  end
data/lib/ttl2html.rb CHANGED
@@ -17,6 +17,7 @@ module TTL2HTML
17
17
  raise "load_config: base_uri not found"
18
18
  end
19
19
  @data = {}
20
+ @data_inverse = {}
20
21
  @graph = RDF::Graph.new
21
22
  end
22
23
 
@@ -46,6 +47,11 @@ module TTL2HTML
46
47
  @data[s.to_s][v.to_s] ||= []
47
48
  @data[s.to_s][v.to_s] << o.to_s
48
49
  end
50
+ if o.is_a? RDF::URI
51
+ @data_inverse[o.to_s] ||= {}
52
+ @data_inverse[o.to_s][v.to_s] ||= []
53
+ @data_inverse[o.to_s][v.to_s] << s.to_s
54
+ end
49
55
  end
50
56
  end
51
57
  STDERR.puts "#{count} triples. #{@data.size} subjects."
@@ -90,6 +96,16 @@ module TTL2HTML
90
96
  result << "#{" "*(depth-1)}]" if not subject.iri?
91
97
  result
92
98
  end
99
+ def format_turtle_inverse(object)
100
+ turtle = RDF::Turtle::Writer.new
101
+ result = ""
102
+ @graph.query([nil, nil, object]).statements.sort_by do |e|
103
+ [ e.subject, e.predicate, object ]
104
+ end.map do |e|
105
+ result << "<#{e.subject}> <#{e.predicate}> <#{object}>.\n"
106
+ end
107
+ result
108
+ end
93
109
 
94
110
  def each_data
95
111
  @data.each do |uri, v|
@@ -103,6 +119,7 @@ module TTL2HTML
103
119
  param = @config.dup
104
120
  param[:uri] = uri
105
121
  param[:data] = v
122
+ param[:data_inverse] = @data_inverse[uri]
106
123
  param[:data_global] = @data
107
124
  param[:title] = template.get_title(v)
108
125
  if @data.keys.find{|e| e.start_with?(uri + "/") }
@@ -128,6 +145,7 @@ module TTL2HTML
128
145
  file = File.join(@config[:output_dir], file)
129
146
  end
130
147
  str = format_turtle(RDF::URI.new uri)
148
+ str << format_turtle_inverse(RDF::URI.new uri)
131
149
  open(file, "w") do |io|
132
150
  io.puts str.strip
133
151
  end
@@ -11,4 +11,12 @@
11
11
  <%= format_triples(param[:data]) %>
12
12
  </div>
13
13
  </div>
14
+ <% if param[:data_inverse] %>
15
+ <div class="row">
16
+ <div class="col-md-12">
17
+ <h2>被参照情報</h2>
18
+ <%= format_triples(param[:data_inverse]) %>
19
+ </div>
20
+ </div>
21
+ <% end %>
14
22
  </div>
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ttl2html
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Masao Takaku
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-09-15 00:00:00.000000000 Z
11
+ date: 2020-02-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: nokogiri
@@ -127,8 +127,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
127
127
  - !ruby/object:Gem::Version
128
128
  version: '0'
129
129
  requirements: []
130
- rubyforge_project:
131
- rubygems_version: 2.6.13
130
+ rubygems_version: 3.1.2
132
131
  signing_key:
133
132
  specification_version: 4
134
133
  summary: ttl2html