ttl2html 0.0.2 → 0.0.3

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