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 +5 -5
- data/lib/ttl2html/template.rb +3 -1
- data/lib/ttl2html.rb +18 -0
- data/templates/default.html.erb +8 -0
- metadata +3 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 0c95b74b2613072aae70c851b0e1b2567f119f94ad65941eb55f959b1dc8ddbb
|
4
|
+
data.tar.gz: c2d7fc3598280fed3a810607676fbf90e17fe8dd643938cf7d317ff7653fde4e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d79903be0b615e45f728987f624d4bed6d9974b94862cdf1f13f325eb448446a22c298fa3aa5ad4b034a69c08b8fdc7a31b64f57fe49aa5cd1250fae6d5d6c96
|
7
|
+
data.tar.gz: ee14d78dc2b449b28b759808d165435abb1b818441e04da8f77e63ebffd87392b8d1ced170e58cea68b886a51a52d95ef1717d0393079caadbf12c0d24a7442e
|
data/lib/ttl2html/template.rb
CHANGED
@@ -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,
|
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
|
data/templates/default.html.erb
CHANGED
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.
|
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:
|
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
|
-
|
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
|