json-ld 3.0.2 → 3.1.0

Sign up to get free protection for your applications and to get access to all the features.
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