json-ld 3.0.2 → 3.1.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.
Files changed (51) hide show
  1. checksums.yaml +4 -4
  2. data/AUTHORS +1 -1
  3. data/README.md +90 -53
  4. data/UNLICENSE +1 -1
  5. data/VERSION +1 -1
  6. data/bin/jsonld +4 -4
  7. data/lib/json/ld.rb +27 -10
  8. data/lib/json/ld/api.rb +325 -96
  9. data/lib/json/ld/compact.rb +75 -27
  10. data/lib/json/ld/conneg.rb +188 -0
  11. data/lib/json/ld/context.rb +677 -292
  12. data/lib/json/ld/expand.rb +240 -75
  13. data/lib/json/ld/flatten.rb +5 -3
  14. data/lib/json/ld/format.rb +19 -19
  15. data/lib/json/ld/frame.rb +135 -85
  16. data/lib/json/ld/from_rdf.rb +44 -17
  17. data/lib/json/ld/html/nokogiri.rb +151 -0
  18. data/lib/json/ld/html/rexml.rb +186 -0
  19. data/lib/json/ld/reader.rb +25 -5
  20. data/lib/json/ld/resource.rb +2 -2
  21. data/lib/json/ld/streaming_writer.rb +3 -1
  22. data/lib/json/ld/to_rdf.rb +47 -17
  23. data/lib/json/ld/utils.rb +4 -2
  24. data/lib/json/ld/writer.rb +75 -14
  25. data/spec/api_spec.rb +13 -34
  26. data/spec/compact_spec.rb +968 -9
  27. data/spec/conneg_spec.rb +373 -0
  28. data/spec/context_spec.rb +447 -53
  29. data/spec/expand_spec.rb +1872 -416
  30. data/spec/flatten_spec.rb +434 -47
  31. data/spec/frame_spec.rb +979 -344
  32. data/spec/from_rdf_spec.rb +305 -5
  33. data/spec/spec_helper.rb +177 -0
  34. data/spec/streaming_writer_spec.rb +4 -4
  35. data/spec/suite_compact_spec.rb +2 -2
  36. data/spec/suite_expand_spec.rb +14 -2
  37. data/spec/suite_flatten_spec.rb +10 -2
  38. data/spec/suite_frame_spec.rb +3 -2
  39. data/spec/suite_from_rdf_spec.rb +2 -2
  40. data/spec/suite_helper.rb +55 -20
  41. data/spec/suite_html_spec.rb +22 -0
  42. data/spec/suite_http_spec.rb +35 -0
  43. data/spec/suite_remote_doc_spec.rb +2 -2
  44. data/spec/suite_to_rdf_spec.rb +14 -3
  45. data/spec/support/extensions.rb +5 -1
  46. data/spec/test-files/test-4-input.json +3 -3
  47. data/spec/test-files/test-5-input.json +2 -2
  48. data/spec/test-files/test-8-framed.json +14 -18
  49. data/spec/to_rdf_spec.rb +606 -16
  50. data/spec/writer_spec.rb +5 -5
  51. metadata +144 -88
@@ -12,7 +12,7 @@ describe JSON::LD::Writer do
12
12
  end
13
13
 
14
14
  describe ".for" do
15
- formats = [
15
+ [
16
16
  :jsonld,
17
17
  "etc/doap.jsonld",
18
18
  {file_name: 'etc/doap.jsonld'},
@@ -201,13 +201,13 @@ describe JSON::LD::Writer do
201
201
  t.logger = logger
202
202
  pending "Shared list BNode in different graphs" if t.property('input').include?("fromRdf-0021")
203
203
  repo = RDF::Repository.load(t.input_loc, format: :nquads)
204
- jsonld = JSON::LD::Writer.buffer(logger: t.logger) do |writer|
204
+ jsonld = JSON::LD::Writer.buffer(logger: t.logger, **t.options) do |writer|
205
205
  writer << repo
206
206
  end
207
207
 
208
208
  # And then, re-generate jsonld as RDF
209
209
 
210
- expect(parse(jsonld, format: :jsonld)).to be_equivalent_graph(repo, t)
210
+ expect(parse(jsonld, format: :jsonld, **t.options)).to be_equivalent_graph(repo, t)
211
211
  end
212
212
  end
213
213
  end
@@ -215,12 +215,12 @@ describe JSON::LD::Writer do
215
215
 
216
216
  def parse(input, format: :trig, **options)
217
217
  reader = RDF::Reader.for(format)
218
- RDF::Repository.new << reader.new(input, options)
218
+ RDF::Repository.new << reader.new(input, **options)
219
219
  end
220
220
 
221
221
  # Serialize ntstr to a string and compare against regexps
222
222
  def serialize(ntstr, **options)
223
- g = ntstr.is_a?(String) ? parse(ntstr, options) : ntstr
223
+ g = ntstr.is_a?(String) ? parse(ntstr, **options) : ntstr
224
224
  #logger.info g.dump(:ttl)
225
225
  result = JSON::LD::Writer.buffer(logger: logger, **options) do |writer|
226
226
  writer << g
metadata CHANGED
@@ -1,253 +1,301 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: json-ld
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.0.2
4
+ version: 3.1.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: 2018-09-20 00:00:00.000000000 Z
11
+ date: 2019-12-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rdf
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ">="
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '3.1'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
18
25
  - !ruby/object:Gem::Version
19
- version: 2.2.8
20
- - - "<"
26
+ version: '3.1'
27
+ - !ruby/object:Gem::Dependency
28
+ name: multi_json
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
21
32
  - !ruby/object:Gem::Version
22
- version: '4.0'
33
+ version: '1.14'
23
34
  type: :runtime
24
35
  prerelease: false
25
36
  version_requirements: !ruby/object:Gem::Requirement
26
37
  requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '1.14'
41
+ - !ruby/object:Gem::Dependency
42
+ name: link_header
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '0.0'
27
48
  - - ">="
28
49
  - !ruby/object:Gem::Version
29
- version: 2.2.8
30
- - - "<"
50
+ version: 0.0.8
51
+ type: :runtime
52
+ prerelease: false
53
+ version_requirements: !ruby/object:Gem::Requirement
54
+ requirements:
55
+ - - "~>"
56
+ - !ruby/object:Gem::Version
57
+ version: '0.0'
58
+ - - ">="
31
59
  - !ruby/object:Gem::Version
32
- version: '4.0'
60
+ version: 0.0.8
33
61
  - !ruby/object:Gem::Dependency
34
- name: multi_json
62
+ name: json-canonicalization
35
63
  requirement: !ruby/object:Gem::Requirement
36
64
  requirements:
37
65
  - - "~>"
38
66
  - !ruby/object:Gem::Version
39
- version: '1.12'
67
+ version: '0.1'
40
68
  type: :runtime
41
69
  prerelease: false
42
70
  version_requirements: !ruby/object:Gem::Requirement
43
71
  requirements:
44
72
  - - "~>"
45
73
  - !ruby/object:Gem::Version
46
- version: '1.12'
74
+ version: '0.1'
75
+ - !ruby/object:Gem::Dependency
76
+ name: htmlentities
77
+ requirement: !ruby/object:Gem::Requirement
78
+ requirements:
79
+ - - "~>"
80
+ - !ruby/object:Gem::Version
81
+ version: '4.3'
82
+ type: :runtime
83
+ prerelease: false
84
+ version_requirements: !ruby/object:Gem::Requirement
85
+ requirements:
86
+ - - "~>"
87
+ - !ruby/object:Gem::Version
88
+ version: '4.3'
89
+ - !ruby/object:Gem::Dependency
90
+ name: rack
91
+ requirement: !ruby/object:Gem::Requirement
92
+ requirements:
93
+ - - "~>"
94
+ - !ruby/object:Gem::Version
95
+ version: '2.0'
96
+ type: :runtime
97
+ prerelease: false
98
+ version_requirements: !ruby/object:Gem::Requirement
99
+ requirements:
100
+ - - "~>"
101
+ - !ruby/object:Gem::Version
102
+ version: '2.0'
103
+ - !ruby/object:Gem::Dependency
104
+ name: sinatra-linkeddata
105
+ requirement: !ruby/object:Gem::Requirement
106
+ requirements:
107
+ - - "~>"
108
+ - !ruby/object:Gem::Version
109
+ version: '3.1'
110
+ type: :development
111
+ prerelease: false
112
+ version_requirements: !ruby/object:Gem::Requirement
113
+ requirements:
114
+ - - "~>"
115
+ - !ruby/object:Gem::Version
116
+ version: '3.1'
47
117
  - !ruby/object:Gem::Dependency
48
118
  name: jsonlint
49
119
  requirement: !ruby/object:Gem::Requirement
50
120
  requirements:
51
121
  - - "~>"
52
122
  - !ruby/object:Gem::Version
53
- version: '0.2'
123
+ version: '0.3'
54
124
  type: :development
55
125
  prerelease: false
56
126
  version_requirements: !ruby/object:Gem::Requirement
57
127
  requirements:
58
128
  - - "~>"
59
129
  - !ruby/object:Gem::Version
60
- version: '0.2'
130
+ version: '0.3'
61
131
  - !ruby/object:Gem::Dependency
62
132
  name: oj
63
133
  requirement: !ruby/object:Gem::Requirement
64
134
  requirements:
65
135
  - - "~>"
66
136
  - !ruby/object:Gem::Version
67
- version: '2.18'
137
+ version: '3.9'
68
138
  type: :development
69
139
  prerelease: false
70
140
  version_requirements: !ruby/object:Gem::Requirement
71
141
  requirements:
72
142
  - - "~>"
73
143
  - !ruby/object:Gem::Version
74
- version: '2.18'
144
+ version: '3.9'
75
145
  - !ruby/object:Gem::Dependency
76
146
  name: yajl-ruby
77
147
  requirement: !ruby/object:Gem::Requirement
78
148
  requirements:
79
149
  - - "~>"
80
150
  - !ruby/object:Gem::Version
81
- version: '1.2'
151
+ version: '1.4'
82
152
  type: :development
83
153
  prerelease: false
84
154
  version_requirements: !ruby/object:Gem::Requirement
85
155
  requirements:
86
156
  - - "~>"
87
157
  - !ruby/object:Gem::Version
88
- version: '1.2'
158
+ version: '1.4'
89
159
  - !ruby/object:Gem::Dependency
90
- name: rdf-isomorphic
160
+ name: rack-test
91
161
  requirement: !ruby/object:Gem::Requirement
92
162
  requirements:
93
- - - ">="
94
- - !ruby/object:Gem::Version
95
- version: '2.0'
96
- - - "<"
163
+ - - "~>"
97
164
  - !ruby/object:Gem::Version
98
- version: '4.0'
165
+ version: '1.1'
99
166
  type: :development
100
167
  prerelease: false
101
168
  version_requirements: !ruby/object:Gem::Requirement
102
169
  requirements:
103
- - - ">="
170
+ - - "~>"
104
171
  - !ruby/object:Gem::Version
105
- version: '2.0'
106
- - - "<"
172
+ version: '1.1'
173
+ - !ruby/object:Gem::Dependency
174
+ name: rdf-isomorphic
175
+ requirement: !ruby/object:Gem::Requirement
176
+ requirements:
177
+ - - "~>"
178
+ - !ruby/object:Gem::Version
179
+ version: '3.1'
180
+ type: :development
181
+ prerelease: false
182
+ version_requirements: !ruby/object:Gem::Requirement
183
+ requirements:
184
+ - - "~>"
107
185
  - !ruby/object:Gem::Version
108
- version: '4.0'
186
+ version: '3.1'
109
187
  - !ruby/object:Gem::Dependency
110
188
  name: rdf-spec
111
189
  requirement: !ruby/object:Gem::Requirement
112
190
  requirements:
113
- - - ">="
114
- - !ruby/object:Gem::Version
115
- version: '2.2'
116
- - - "<"
191
+ - - "~>"
117
192
  - !ruby/object:Gem::Version
118
- version: '4.0'
193
+ version: '3.1'
119
194
  type: :development
120
195
  prerelease: false
121
196
  version_requirements: !ruby/object:Gem::Requirement
122
197
  requirements:
123
- - - ">="
124
- - !ruby/object:Gem::Version
125
- version: '2.2'
126
- - - "<"
198
+ - - "~>"
127
199
  - !ruby/object:Gem::Version
128
- version: '4.0'
200
+ version: '3.1'
129
201
  - !ruby/object:Gem::Dependency
130
202
  name: rdf-trig
131
203
  requirement: !ruby/object:Gem::Requirement
132
204
  requirements:
133
- - - ">="
134
- - !ruby/object:Gem::Version
135
- version: '2.2'
136
- - - "<"
205
+ - - "~>"
137
206
  - !ruby/object:Gem::Version
138
- version: '4.0'
207
+ version: '3.1'
139
208
  type: :development
140
209
  prerelease: false
141
210
  version_requirements: !ruby/object:Gem::Requirement
142
211
  requirements:
143
- - - ">="
144
- - !ruby/object:Gem::Version
145
- version: '2.2'
146
- - - "<"
212
+ - - "~>"
147
213
  - !ruby/object:Gem::Version
148
- version: '4.0'
214
+ version: '3.1'
149
215
  - !ruby/object:Gem::Dependency
150
216
  name: rdf-turtle
151
217
  requirement: !ruby/object:Gem::Requirement
152
218
  requirements:
153
- - - ">="
154
- - !ruby/object:Gem::Version
155
- version: '2.2'
156
- - - "<"
219
+ - - "~>"
157
220
  - !ruby/object:Gem::Version
158
- version: '4.0'
221
+ version: '3.1'
159
222
  type: :development
160
223
  prerelease: false
161
224
  version_requirements: !ruby/object:Gem::Requirement
162
225
  requirements:
163
- - - ">="
164
- - !ruby/object:Gem::Version
165
- version: '2.2'
166
- - - "<"
226
+ - - "~>"
167
227
  - !ruby/object:Gem::Version
168
- version: '4.0'
228
+ version: '3.1'
169
229
  - !ruby/object:Gem::Dependency
170
230
  name: rdf-vocab
171
231
  requirement: !ruby/object:Gem::Requirement
172
232
  requirements:
173
- - - ">="
174
- - !ruby/object:Gem::Version
175
- version: '2.2'
176
- - - "<"
233
+ - - "~>"
177
234
  - !ruby/object:Gem::Version
178
- version: '4.0'
235
+ version: '3.1'
179
236
  type: :development
180
237
  prerelease: false
181
238
  version_requirements: !ruby/object:Gem::Requirement
182
239
  requirements:
183
- - - ">="
184
- - !ruby/object:Gem::Version
185
- version: '2.2'
186
- - - "<"
240
+ - - "~>"
187
241
  - !ruby/object:Gem::Version
188
- version: '4.0'
242
+ version: '3.1'
189
243
  - !ruby/object:Gem::Dependency
190
244
  name: rdf-xsd
191
245
  requirement: !ruby/object:Gem::Requirement
192
246
  requirements:
193
- - - ">="
194
- - !ruby/object:Gem::Version
195
- version: '2.2'
196
- - - "<"
247
+ - - "~>"
197
248
  - !ruby/object:Gem::Version
198
- version: '4.0'
249
+ version: '3.1'
199
250
  type: :development
200
251
  prerelease: false
201
252
  version_requirements: !ruby/object:Gem::Requirement
202
253
  requirements:
203
- - - ">="
204
- - !ruby/object:Gem::Version
205
- version: '2.2'
206
- - - "<"
254
+ - - "~>"
207
255
  - !ruby/object:Gem::Version
208
- version: '4.0'
256
+ version: '3.1'
209
257
  - !ruby/object:Gem::Dependency
210
258
  name: rspec
211
259
  requirement: !ruby/object:Gem::Requirement
212
260
  requirements:
213
261
  - - "~>"
214
262
  - !ruby/object:Gem::Version
215
- version: '3.7'
263
+ version: '3.9'
216
264
  type: :development
217
265
  prerelease: false
218
266
  version_requirements: !ruby/object:Gem::Requirement
219
267
  requirements:
220
268
  - - "~>"
221
269
  - !ruby/object:Gem::Version
222
- version: '3.7'
270
+ version: '3.9'
223
271
  - !ruby/object:Gem::Dependency
224
272
  name: rspec-its
225
273
  requirement: !ruby/object:Gem::Requirement
226
274
  requirements:
227
275
  - - "~>"
228
276
  - !ruby/object:Gem::Version
229
- version: '1.2'
277
+ version: '1.3'
230
278
  type: :development
231
279
  prerelease: false
232
280
  version_requirements: !ruby/object:Gem::Requirement
233
281
  requirements:
234
282
  - - "~>"
235
283
  - !ruby/object:Gem::Version
236
- version: '1.2'
284
+ version: '1.3'
237
285
  - !ruby/object:Gem::Dependency
238
286
  name: yard
239
287
  requirement: !ruby/object:Gem::Requirement
240
288
  requirements:
241
289
  - - "~>"
242
290
  - !ruby/object:Gem::Version
243
- version: 0.9.12
291
+ version: '0.9'
244
292
  type: :development
245
293
  prerelease: false
246
294
  version_requirements: !ruby/object:Gem::Requirement
247
295
  requirements:
248
296
  - - "~>"
249
297
  - !ruby/object:Gem::Version
250
- version: 0.9.12
298
+ version: '0.9'
251
299
  description: JSON::LD parses and serializes JSON-LD into RDF and implements expansion,
252
300
  compaction and framing API interfaces.
253
301
  email: public-linked-json@w3.org
@@ -264,6 +312,7 @@ files:
264
312
  - lib/json/ld.rb
265
313
  - lib/json/ld/api.rb
266
314
  - lib/json/ld/compact.rb
315
+ - lib/json/ld/conneg.rb
267
316
  - lib/json/ld/context.rb
268
317
  - lib/json/ld/expand.rb
269
318
  - lib/json/ld/extensions.rb
@@ -271,6 +320,8 @@ files:
271
320
  - lib/json/ld/format.rb
272
321
  - lib/json/ld/frame.rb
273
322
  - lib/json/ld/from_rdf.rb
323
+ - lib/json/ld/html/nokogiri.rb
324
+ - lib/json/ld/html/rexml.rb
274
325
  - lib/json/ld/reader.rb
275
326
  - lib/json/ld/resource.rb
276
327
  - lib/json/ld/streaming_writer.rb
@@ -280,6 +331,7 @@ files:
280
331
  - lib/json/ld/writer.rb
281
332
  - spec/api_spec.rb
282
333
  - spec/compact_spec.rb
334
+ - spec/conneg_spec.rb
283
335
  - spec/context_spec.rb
284
336
  - spec/expand_spec.rb
285
337
  - spec/flatten_spec.rb
@@ -297,6 +349,8 @@ files:
297
349
  - spec/suite_frame_spec.rb
298
350
  - spec/suite_from_rdf_spec.rb
299
351
  - spec/suite_helper.rb
352
+ - spec/suite_html_spec.rb
353
+ - spec/suite_http_spec.rb
300
354
  - spec/suite_remote_doc_spec.rb
301
355
  - spec/suite_to_rdf_spec.rb
302
356
  - spec/support/extensions.rb
@@ -351,7 +405,7 @@ files:
351
405
  - spec/test-files/test-9-input.json
352
406
  - spec/to_rdf_spec.rb
353
407
  - spec/writer_spec.rb
354
- homepage: http://github.com/ruby-rdf/json-ld
408
+ homepage: https://github.com/ruby-rdf/json-ld
355
409
  licenses:
356
410
  - Unlicense
357
411
  metadata: {}
@@ -363,15 +417,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
363
417
  requirements:
364
418
  - - ">="
365
419
  - !ruby/object:Gem::Version
366
- version: 2.2.2
420
+ version: '2.4'
367
421
  required_rubygems_version: !ruby/object:Gem::Requirement
368
422
  requirements:
369
423
  - - ">="
370
424
  - !ruby/object:Gem::Version
371
425
  version: '0'
372
426
  requirements: []
373
- rubyforge_project:
374
- rubygems_version: 2.7.6
427
+ rubygems_version: 3.0.6
375
428
  signing_key:
376
429
  specification_version: 4
377
430
  summary: JSON-LD reader/writer for Ruby.
@@ -391,7 +444,9 @@ test_files:
391
444
  - spec/format_spec.rb
392
445
  - spec/frame_spec.rb
393
446
  - spec/to_rdf_spec.rb
447
+ - spec/conneg_spec.rb
394
448
  - spec/support/extensions.rb
449
+ - spec/suite_html_spec.rb
395
450
  - spec/flatten_spec.rb
396
451
  - spec/suite_frame_spec.rb
397
452
  - spec/suite_compact_spec.rb
@@ -399,6 +454,7 @@ test_files:
399
454
  - spec/suite_expand_spec.rb
400
455
  - spec/suite_flatten_spec.rb
401
456
  - spec/compact_spec.rb
457
+ - spec/suite_http_spec.rb
402
458
  - spec/writer_spec.rb
403
459
  - spec/test-files/test-3-compacted.json
404
460
  - spec/test-files/test-2-rdf.ttl