rdf-tabular 3.2.1 → 3.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: dd48e42acc4f95f1757d7ffa81fefcde7ecc148ca49b4191e733a2124e722941
4
- data.tar.gz: 1884114de540cec4142926f21a43c5bf050acc751e40919520a188a91c0fc55b
3
+ metadata.gz: 4041ba9d0a1c7d571edd2aa3a93ad1b603e310a07d1725c26c93986aecdec183
4
+ data.tar.gz: c5cc2f0c5ad18e1693e82e0f25446d0208324d691668e759f330689f12120a2b
5
5
  SHA512:
6
- metadata.gz: b70864ced48bf41e39b3377cb9793e5a6666769b53001419d251e34b5759b1bb4bc505260ba5a37d6a9bc4ec54453a7e40638cee722bd465dd418528bdd691e7
7
- data.tar.gz: 75dcbb58b1558fd654d74e74f4a43ccbff7ec67b72381017e19821546387ca01c05e764489b55aadd3e029d79cdf93f00da2f990f27f638777149c7c78839505
6
+ metadata.gz: fda9f00e16600e812c82a30f92628432e72038d15b948297c59e306e7e9bd5ffb7a54180a62928550f6d791c8f21398fd6fbb514ca513fef86b890499a8d76cd
7
+ data.tar.gz: 9ca1f5716105b3a6d1cfa8138a13d38fb62ebd895d70394f1f17053df3f3a7045c73f42b305029559feefe920778114f5a459a1f36186e81e82b7ccb3d31a028
data/README.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  [CSV][] reader for [RDF.rb][] and fully JSON serializer.
4
4
 
5
- [![Gem Version](https://badge.fury.io/rb/rdf-tabular.png)](https://badge.fury.io/rb/rdf-tabular)
5
+ [![Gem Version](https://badge.fury.io/rb/rdf-tabular.svg)](https://badge.fury.io/rb/rdf-tabular)
6
6
  [![Build Status](https://github.com/ruby-rdf/rdf-tabular/workflows/CI/badge.svg?branch=develop)](https://github.com/ruby-rdf/rdf-tabular/actions?query=workflow%3ACI)
7
7
  [![Coverage Status](https://coveralls.io/repos/ruby-rdf/rdf-tabular/badge.svg?branch=develop)](https://coveralls.io/github/ruby-rdf/rdf-tabular?branch=develop)
8
8
  [![Gitter chat](https://badges.gitter.im/ruby-rdf/rdf.png)](https://gitter.im/ruby-rdf/rdf)
@@ -253,8 +253,8 @@ Full documentation available on [RubyDoc](https://rubydoc.info/gems/rdf-tabular/
253
253
  * {RDF::Tabular::Reader}
254
254
 
255
255
  ## Dependencies
256
- * [Ruby](https://ruby-lang.org/) (>= 2.6)
257
- * [RDF.rb](https://rubygems.org/gems/rdf) (~> 3.2)
256
+ * [Ruby](https://ruby-lang.org/) (>= 3.0)
257
+ * [RDF.rb](https://rubygems.org/gems/rdf) (~> 3.3)
258
258
  * [JSON](https://rubygems.org/gems/json) (>= 2.6)
259
259
 
260
260
  ## Installation
data/VERSION CHANGED
@@ -1 +1 @@
1
- 3.2.1
1
+ 3.3.0
@@ -2,7 +2,7 @@
2
2
 
3
3
  require 'json'
4
4
  require 'json/ld'
5
- require 'bcp47'
5
+ require 'bcp47_spec'
6
6
  require 'addressable/template'
7
7
  require 'rdf/xsd'
8
8
  require 'yaml' # used by BCP47, which should have required it.
@@ -146,6 +146,8 @@ module RDF::Tabular
146
146
  RDF::Util::File.open_file(path, **options) do |file|
147
147
  self.new(file, **options.merge(base: path, filenames: path))
148
148
  end
149
+ rescue Errno::ENOENT => e
150
+ raise IOError, e.message
149
151
  end
150
152
 
151
153
  # Return the well-known configuration for a file, and remember using a weak-reference cache to avoid uncessary retreivles.
@@ -366,7 +368,7 @@ module RDF::Tabular
366
368
 
367
369
  @options[:base] = @context ? @context.base : RDF::URI(opt_base)
368
370
 
369
- if @context && @context.default_language && !BCP47::Language.identify(@context.default_language.to_s)
371
+ if @context && @context.default_language && !BCP47.valid?(@context.default_language.to_s)
370
372
  log_warn "Context has invalid @language (#{@context.default_language.inspect}): expected valid BCP47 language tag"
371
373
  @context.default_language = nil
372
374
  end
@@ -437,7 +439,7 @@ module RDF::Tabular
437
439
  when :aboutUrl, :default, :propertyUrl, :valueUrl
438
440
  "string" unless value.is_a?(String)
439
441
  when :lang
440
- "valid BCP47 language tag" unless BCP47::Language.identify(value.to_s)
442
+ "valid BCP47 language tag" unless BCP47.valid?(value.to_s)
441
443
  when :null
442
444
  # To be valid, it must be a string or array
443
445
  "string or array of strings" unless !value.is_a?(Hash) && Array(value).all? {|v| v.is_a?(String)}
@@ -837,7 +839,7 @@ module RDF::Tabular
837
839
  "a valid natural language property" unless value.all? {|v| v.is_a?(String)}
838
840
  when Hash
839
841
  "a valid natural language property" if
840
- value.keys.any? {|k| k.to_s != "und" && !BCP47::Language.identify(k)} ||
842
+ value.keys.any? {|k| k.to_s != "und" && !BCP47.valid?(k)} ||
841
843
  value.values.any? {|v| valid_natural_language_property?(v).is_a?(String)}
842
844
  else
843
845
  "a valid natural language property"
@@ -1170,7 +1172,7 @@ module RDF::Tabular
1170
1172
  log_error "Value object may not contain keys other than @value, @type, or @language: #{value.to_json}"
1171
1173
  elsif (value.keys.sort & %w(@language @type)) == %w(@language @type)
1172
1174
  log_error "Value object may not contain both @type and @language: #{value.to_json}"
1173
- elsif value['@language'] && !BCP47::Language.identify(value['@language'].to_s)
1175
+ elsif value['@language'] && !BCP47.valid?(value['@language'].to_s)
1174
1176
  log_error "Value object with @language must use valid language: #{value.to_json}"
1175
1177
  elsif value['@type'] && (value['@type'].start_with?('_:') || !context.expand_iri(value['@type'], vocab: true).absolute?)
1176
1178
  log_error "Value object with @type must defined type: #{value.to_json}"
@@ -1230,7 +1232,7 @@ module RDF::Tabular
1230
1232
  when String then value
1231
1233
  when Array then value.select {|v| v.is_a?(String)}
1232
1234
  when Hash
1233
- value.delete_if {|k, v| !BCP47::Language.identify(k)}
1235
+ value.delete_if {|k, v| !BCP47.valid?(k)}
1234
1236
  value.each do |k, v|
1235
1237
  value[k] = Array(v).select {|vv| vv.is_a?(String)}
1236
1238
  end
data/spec/matchers.rb CHANGED
@@ -1,7 +1,7 @@
1
1
  require 'rdf/isomorphic'
2
2
  require 'rspec/matchers'
3
3
 
4
- Info = Struct.new(:id, :debug, :action, :result, :metadata)
4
+ Info = Struct.new(:id, :logger, :action, :result, :metadata)
5
5
 
6
6
  RSpec::Matchers.define :pass_query do |expected, info|
7
7
  match do |actual|
@@ -10,7 +10,6 @@ RSpec::Matchers.define :pass_query do |expected, info|
10
10
  elsif info.is_a?(Hash)
11
11
  Info.new(info[:id], info[:logger], info[:action], info.fetch(:result, RDF::Literal::TRUE), info[:metadata])
12
12
  end
13
- @info.debug = Array(@info.debug).join("\n")
14
13
 
15
14
  @expected = expected.respond_to?(:read) ? expected.read : expected
16
15
 
@@ -110,7 +110,6 @@ describe RDF::Tabular::Metadata do
110
110
  subject.send("#{prop}=".to_sym, v)
111
111
  expect(subject).to be_valid # Causes re-validation
112
112
  expect(logger.to_s).not_to include "ERROR"
113
- expect(logger.to_s).to include "WARN"
114
113
  end
115
114
  end
116
115
  it "errors" do
data/spec/reader_spec.rb CHANGED
@@ -313,7 +313,7 @@ describe RDF::Tabular::Reader do
313
313
  prov:endedAtTime ?end;
314
314
  prov:qualifiedUsage [
315
315
  a prov:Usage ;
316
- prov:entity <http://example.org/country-codes-and-names.csv> ;
316
+ # prov:entity <http://example.org/country-codes-and-names.csv> ;
317
317
  prov:hadRole csvw:csvEncodedTabularData
318
318
  ];
319
319
  ]
@@ -336,11 +336,11 @@ describe RDF::Tabular::Reader do
336
336
  prov:endedAtTime ?end;
337
337
  prov:qualifiedUsage [
338
338
  a prov:Usage ;
339
- prov:entity <http://example.org/countries.csv>, <http://example.org/country_slice.csv>;
339
+ # prov:entity <http://example.org/countries.csv>, <http://example.org/country_slice.csv>;
340
340
  prov:hadRole csvw:csvEncodedTabularData
341
341
  ], [
342
342
  a prov:Usage ;
343
- prov:entity <http://example.org/countries.json> ;
343
+ # prov:entity <http://example.org/countries.json> ;
344
344
  prov:hadRole csvw:tabularMetadata
345
345
  ];
346
346
  ]
metadata CHANGED
@@ -1,97 +1,85 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rdf-tabular
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.2.1
4
+ version: 3.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Gregg Kellogg
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-04-26 00:00:00.000000000 Z
11
+ date: 2023-09-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: bcp47
14
+ name: bcp47_spec
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '0.3'
20
- - - ">="
21
- - !ruby/object:Gem::Version
22
- version: 0.3.3
19
+ version: '0.2'
23
20
  type: :runtime
24
21
  prerelease: false
25
22
  version_requirements: !ruby/object:Gem::Requirement
26
23
  requirements:
27
24
  - - "~>"
28
25
  - !ruby/object:Gem::Version
29
- version: '0.3'
30
- - - ">="
31
- - !ruby/object:Gem::Version
32
- version: 0.3.3
26
+ version: '0.2'
33
27
  - !ruby/object:Gem::Dependency
34
28
  name: rdf
35
29
  requirement: !ruby/object:Gem::Requirement
36
30
  requirements:
37
31
  - - "~>"
38
32
  - !ruby/object:Gem::Version
39
- version: '3.2'
40
- - - ">="
41
- - !ruby/object:Gem::Version
42
- version: 3.2.7
33
+ version: '3.3'
43
34
  type: :runtime
44
35
  prerelease: false
45
36
  version_requirements: !ruby/object:Gem::Requirement
46
37
  requirements:
47
38
  - - "~>"
48
39
  - !ruby/object:Gem::Version
49
- version: '3.2'
50
- - - ">="
51
- - !ruby/object:Gem::Version
52
- version: 3.2.7
40
+ version: '3.3'
53
41
  - !ruby/object:Gem::Dependency
54
42
  name: rdf-vocab
55
43
  requirement: !ruby/object:Gem::Requirement
56
44
  requirements:
57
45
  - - "~>"
58
46
  - !ruby/object:Gem::Version
59
- version: '3.2'
47
+ version: '3.3'
60
48
  type: :runtime
61
49
  prerelease: false
62
50
  version_requirements: !ruby/object:Gem::Requirement
63
51
  requirements:
64
52
  - - "~>"
65
53
  - !ruby/object:Gem::Version
66
- version: '3.2'
54
+ version: '3.3'
67
55
  - !ruby/object:Gem::Dependency
68
56
  name: rdf-xsd
69
57
  requirement: !ruby/object:Gem::Requirement
70
58
  requirements:
71
59
  - - "~>"
72
60
  - !ruby/object:Gem::Version
73
- version: '3.2'
61
+ version: '3.3'
74
62
  type: :runtime
75
63
  prerelease: false
76
64
  version_requirements: !ruby/object:Gem::Requirement
77
65
  requirements:
78
66
  - - "~>"
79
67
  - !ruby/object:Gem::Version
80
- version: '3.2'
68
+ version: '3.3'
81
69
  - !ruby/object:Gem::Dependency
82
70
  name: json-ld
83
71
  requirement: !ruby/object:Gem::Requirement
84
72
  requirements:
85
73
  - - "~>"
86
74
  - !ruby/object:Gem::Version
87
- version: '3.2'
75
+ version: '3.3'
88
76
  type: :runtime
89
77
  prerelease: false
90
78
  version_requirements: !ruby/object:Gem::Requirement
91
79
  requirements:
92
80
  - - "~>"
93
81
  - !ruby/object:Gem::Version
94
- version: '3.2'
82
+ version: '3.3'
95
83
  - !ruby/object:Gem::Dependency
96
84
  name: addressable
97
85
  requirement: !ruby/object:Gem::Requirement
@@ -112,7 +100,7 @@ dependencies:
112
100
  requirements:
113
101
  - - "~>"
114
102
  - !ruby/object:Gem::Version
115
- version: '1.13'
103
+ version: '1.15'
116
104
  - - ">="
117
105
  - !ruby/object:Gem::Version
118
106
  version: 1.13.4
@@ -122,7 +110,7 @@ dependencies:
122
110
  requirements:
123
111
  - - "~>"
124
112
  - !ruby/object:Gem::Version
125
- version: '1.13'
113
+ version: '1.15'
126
114
  - - ">="
127
115
  - !ruby/object:Gem::Version
128
116
  version: 1.13.4
@@ -132,14 +120,14 @@ dependencies:
132
120
  requirements:
133
121
  - - "~>"
134
122
  - !ruby/object:Gem::Version
135
- version: '3.10'
123
+ version: '3.12'
136
124
  type: :development
137
125
  prerelease: false
138
126
  version_requirements: !ruby/object:Gem::Requirement
139
127
  requirements:
140
128
  - - "~>"
141
129
  - !ruby/object:Gem::Version
142
- version: '3.10'
130
+ version: '3.12'
143
131
  - !ruby/object:Gem::Dependency
144
132
  name: rspec-its
145
133
  requirement: !ruby/object:Gem::Requirement
@@ -160,70 +148,70 @@ dependencies:
160
148
  requirements:
161
149
  - - "~>"
162
150
  - !ruby/object:Gem::Version
163
- version: '3.2'
151
+ version: '3.3'
164
152
  type: :development
165
153
  prerelease: false
166
154
  version_requirements: !ruby/object:Gem::Requirement
167
155
  requirements:
168
156
  - - "~>"
169
157
  - !ruby/object:Gem::Version
170
- version: '3.2'
158
+ version: '3.3'
171
159
  - !ruby/object:Gem::Dependency
172
160
  name: rdf-spec
173
161
  requirement: !ruby/object:Gem::Requirement
174
162
  requirements:
175
163
  - - "~>"
176
164
  - !ruby/object:Gem::Version
177
- version: '3.2'
165
+ version: '3.3'
178
166
  type: :development
179
167
  prerelease: false
180
168
  version_requirements: !ruby/object:Gem::Requirement
181
169
  requirements:
182
170
  - - "~>"
183
171
  - !ruby/object:Gem::Version
184
- version: '3.2'
172
+ version: '3.3'
185
173
  - !ruby/object:Gem::Dependency
186
174
  name: rdf-turtle
187
175
  requirement: !ruby/object:Gem::Requirement
188
176
  requirements:
189
177
  - - "~>"
190
178
  - !ruby/object:Gem::Version
191
- version: '3.2'
179
+ version: '3.3'
192
180
  type: :development
193
181
  prerelease: false
194
182
  version_requirements: !ruby/object:Gem::Requirement
195
183
  requirements:
196
184
  - - "~>"
197
185
  - !ruby/object:Gem::Version
198
- version: '3.2'
186
+ version: '3.3'
199
187
  - !ruby/object:Gem::Dependency
200
188
  name: sparql
201
189
  requirement: !ruby/object:Gem::Requirement
202
190
  requirements:
203
191
  - - "~>"
204
192
  - !ruby/object:Gem::Version
205
- version: '3.2'
193
+ version: '3.3'
206
194
  type: :development
207
195
  prerelease: false
208
196
  version_requirements: !ruby/object:Gem::Requirement
209
197
  requirements:
210
198
  - - "~>"
211
199
  - !ruby/object:Gem::Version
212
- version: '3.2'
200
+ version: '3.3'
213
201
  - !ruby/object:Gem::Dependency
214
202
  name: webmock
215
203
  requirement: !ruby/object:Gem::Requirement
216
204
  requirements:
217
205
  - - "~>"
218
206
  - !ruby/object:Gem::Version
219
- version: '3.14'
207
+ version: '3.19'
220
208
  type: :development
221
209
  prerelease: false
222
210
  version_requirements: !ruby/object:Gem::Requirement
223
211
  requirements:
224
212
  - - "~>"
225
213
  - !ruby/object:Gem::Version
226
- version: '3.14'
214
+ version: '3.19'
227
215
  - !ruby/object:Gem::Dependency
228
216
  name: yard
229
217
  requirement: !ruby/object:Gem::Requirement
@@ -349,14 +337,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
349
337
  requirements:
350
338
  - - ">="
351
339
  - !ruby/object:Gem::Version
352
- version: '2.6'
340
+ version: '3.0'
353
341
  required_rubygems_version: !ruby/object:Gem::Requirement
354
342
  requirements:
355
343
  - - ">="
356
344
  - !ruby/object:Gem::Version
357
345
  version: '0'
358
346
  requirements: []
359
- rubygems_version: 3.3.3
347
+ rubygems_version: 3.2.33
360
348
  signing_key:
361
349
  specification_version: 4
362
350
  summary: Tabular Data RDF Reader and JSON serializer.