ttl2html 0.2.8 → 0.3.0

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
2
  SHA256:
3
- metadata.gz: 7f3895e8f7c7544e6ef6bcb0cf966787d51a49de0db77a6a0a0b72a70a54b9cb
4
- data.tar.gz: 7f33f34c40179683953a920a516712051c7a2e3078c4220cdbf21e7df14dbdbb
3
+ metadata.gz: 5c6cc6b025ce5ec57709788d914a9507dc66160feed31a083e101acb2d128461
4
+ data.tar.gz: 994ea0ec7c5131b21ba7c709c4693c9fe341a9cb3e19f8d53b28f8f2a9d39056
5
5
  SHA512:
6
- metadata.gz: 86c6e71196827df531740ecb603889b99bbc44118ed106e4831472ccde702f162648cdcafd3eb43d19ebb9cf9dd6c3ec379cb68b55d78eca585d17fbe605ebe7
7
- data.tar.gz: a708b14927d1a8332aa48004f7f61f8ba379623556d3348e356f9dd72c0c8641b9e14f7ccf33c29be51f121d8c300da0e7cce780585ed0fd9a15d75de4b66fc6
6
+ metadata.gz: fb77aca35e592354697fddd2b32e65ba8515ed6631bf8edfbf5ddd1ee2442f62f0a872a17a27fb1230c2665b1b5067a13b1e504c31aedfa3c613f87ec0ce1881
7
+ data.tar.gz: b0d58cf7689127f8d1a47e3f4fbc500e228e075baf49c9edb7f6c3e86378c8f861f8336cabbe5f0e8ad87778091fcfb970a86e2e62a2e894e49cf7bad4dd0eb2
data/bin/catttl ADDED
@@ -0,0 +1,46 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require "ttl2html"
4
+ include Textbook
5
+
6
+ prefix = {}
7
+ ttl = []
8
+
9
+ ARGV.each do |file|
10
+ filename = find_turtle(file)
11
+ klass = File
12
+ if File.extname(file) == ".gz"
13
+ klass = Zlib::GzipReader
14
+ end
15
+ klass.readlines(filename).each do |line|
16
+ line = line.chomp
17
+ next if line.empty?
18
+ if line =~ /^@prefix\s+(\w[\w\-]*):\s*<(.+)>/
19
+ prefix[$1] ||= []
20
+ prefix[$1] << $2
21
+ else
22
+ ttl << line
23
+ end
24
+ end
25
+ end
26
+ ARGV.each do |file|
27
+ filename = find_turtle(file)
28
+ STDERR.puts filename
29
+ end
30
+
31
+ prefix.each do |k, v|
32
+ STDERR.puts "Duplicate prefixes: #{k}: #{v}" if v.uniq.size > 1
33
+ prefix[k] = v.sort.first
34
+ end
35
+ dups = prefix.values.group_by{|e| e }.select{|k, v| v.size > 1 }.keys
36
+ unless dups.empty?
37
+ dups.each do |uri|
38
+ uris = prefix.keys.select{|e| prefix[e] == uri }
39
+ STDERR.puts "Duplicate prefixes: #{uri} (#{uris.join(",")})"
40
+ end
41
+ end
42
+
43
+ prefix.sort.each do |prefix, uri|
44
+ puts "@prefix #{prefix}: <#{uri}>."
45
+ end
46
+ puts ttl
@@ -1 +1 @@
1
- TTL2HTML::VERSION = "0.2.8"
1
+ TTL2HTML::VERSION = "0.3.0"
data/lib/ttl2html.rb CHANGED
@@ -33,7 +33,12 @@ module TTL2HTML
33
33
  def load_turtle(file)
34
34
  STDERR.puts "loading #{file}..."
35
35
  count = 0
36
- RDF::Turtle::Reader.open(file) do |reader|
36
+ if file.end_with?(".gz")
37
+ io = Zlib::GzipReader.open(file)
38
+ else
39
+ io = File.open(file)
40
+ end
41
+ RDF::Turtle::Reader.new(io) do |reader|
37
42
  @prefix.merge! reader.prefixes
38
43
  reader.statements.each do |statement|
39
44
  @graph.insert(statement)
@@ -59,6 +64,19 @@ module TTL2HTML
59
64
  STDERR.puts "#{count} triples. #{@data.size} subjects."
60
65
  @data
61
66
  end
67
+ def find_turtle(filename, params = {})
68
+ if params[:noexpand] == true
69
+ filename if File.exists? filename
70
+ else
71
+ file = nil
72
+ basename = File.basename(filename, ".ttl")
73
+ dirname = File.dirname(filename)
74
+ files = Dir.glob("#{dirname}/#{basename}-[0-9]*.ttl{,.gz}")
75
+ file = files.sort.last
76
+ file
77
+ end
78
+ end
79
+
62
80
  def format_turtle(subject, depth = 1)
63
81
  turtle = RDF::Turtle::Writer.new
64
82
  result = ""
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.2.8
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Masao Takaku
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-07-02 00:00:00.000000000 Z
11
+ date: 2021-10-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: nokogiri
@@ -113,9 +113,11 @@ email: tmasao@acm.org
113
113
  executables:
114
114
  - ttl2html
115
115
  - xlsx2shape
116
+ - catttl
116
117
  extensions: []
117
118
  extra_rdoc_files: []
118
119
  files:
120
+ - bin/catttl
119
121
  - bin/ttl2html
120
122
  - bin/xlsx2shape
121
123
  - lib/ttl2html.rb