json-ld 3.2.4 → 3.2.5

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 (99) hide show
  1. checksums.yaml +4 -4
  2. data/VERSION +1 -1
  3. data/lib/json/ld/api.rb +807 -771
  4. data/lib/json/ld/compact.rb +304 -304
  5. data/lib/json/ld/conneg.rb +179 -161
  6. data/lib/json/ld/context.rb +2080 -1913
  7. data/lib/json/ld/expand.rb +745 -666
  8. data/lib/json/ld/extensions.rb +14 -13
  9. data/lib/json/ld/flatten.rb +257 -247
  10. data/lib/json/ld/format.rb +202 -194
  11. data/lib/json/ld/frame.rb +525 -502
  12. data/lib/json/ld/from_rdf.rb +223 -204
  13. data/lib/json/ld/html/nokogiri.rb +123 -121
  14. data/lib/json/ld/html/rexml.rb +151 -147
  15. data/lib/json/ld/reader.rb +107 -100
  16. data/lib/json/ld/resource.rb +224 -205
  17. data/lib/json/ld/streaming_reader.rb +574 -507
  18. data/lib/json/ld/streaming_writer.rb +93 -92
  19. data/lib/json/ld/to_rdf.rb +171 -169
  20. data/lib/json/ld/utils.rb +270 -264
  21. data/lib/json/ld/version.rb +24 -14
  22. data/lib/json/ld/writer.rb +334 -311
  23. data/lib/json/ld.rb +103 -96
  24. metadata +55 -198
  25. data/spec/api_spec.rb +0 -132
  26. data/spec/compact_spec.rb +0 -3482
  27. data/spec/conneg_spec.rb +0 -373
  28. data/spec/context_spec.rb +0 -2056
  29. data/spec/expand_spec.rb +0 -4496
  30. data/spec/flatten_spec.rb +0 -1203
  31. data/spec/format_spec.rb +0 -115
  32. data/spec/frame_spec.rb +0 -2541
  33. data/spec/from_rdf_spec.rb +0 -1072
  34. data/spec/matchers.rb +0 -20
  35. data/spec/rdfstar_spec.rb +0 -25
  36. data/spec/reader_spec.rb +0 -883
  37. data/spec/resource_spec.rb +0 -76
  38. data/spec/spec_helper.rb +0 -281
  39. data/spec/streaming_reader_spec.rb +0 -237
  40. data/spec/streaming_writer_spec.rb +0 -145
  41. data/spec/suite_compact_spec.rb +0 -22
  42. data/spec/suite_expand_spec.rb +0 -36
  43. data/spec/suite_flatten_spec.rb +0 -34
  44. data/spec/suite_frame_spec.rb +0 -29
  45. data/spec/suite_from_rdf_spec.rb +0 -22
  46. data/spec/suite_helper.rb +0 -411
  47. data/spec/suite_html_spec.rb +0 -22
  48. data/spec/suite_http_spec.rb +0 -35
  49. data/spec/suite_remote_doc_spec.rb +0 -22
  50. data/spec/suite_to_rdf_spec.rb +0 -30
  51. data/spec/support/extensions.rb +0 -44
  52. data/spec/test-files/test-1-compacted.jsonld +0 -10
  53. data/spec/test-files/test-1-context.jsonld +0 -7
  54. data/spec/test-files/test-1-expanded.jsonld +0 -5
  55. data/spec/test-files/test-1-input.jsonld +0 -10
  56. data/spec/test-files/test-1-rdf.ttl +0 -8
  57. data/spec/test-files/test-2-compacted.jsonld +0 -20
  58. data/spec/test-files/test-2-context.jsonld +0 -7
  59. data/spec/test-files/test-2-expanded.jsonld +0 -16
  60. data/spec/test-files/test-2-input.jsonld +0 -20
  61. data/spec/test-files/test-2-rdf.ttl +0 -14
  62. data/spec/test-files/test-3-compacted.jsonld +0 -11
  63. data/spec/test-files/test-3-context.jsonld +0 -8
  64. data/spec/test-files/test-3-expanded.jsonld +0 -10
  65. data/spec/test-files/test-3-input.jsonld +0 -11
  66. data/spec/test-files/test-3-rdf.ttl +0 -8
  67. data/spec/test-files/test-4-compacted.jsonld +0 -10
  68. data/spec/test-files/test-4-context.jsonld +0 -7
  69. data/spec/test-files/test-4-expanded.jsonld +0 -6
  70. data/spec/test-files/test-4-input.jsonld +0 -10
  71. data/spec/test-files/test-4-rdf.ttl +0 -5
  72. data/spec/test-files/test-5-compacted.jsonld +0 -13
  73. data/spec/test-files/test-5-context.jsonld +0 -7
  74. data/spec/test-files/test-5-expanded.jsonld +0 -9
  75. data/spec/test-files/test-5-input.jsonld +0 -13
  76. data/spec/test-files/test-5-rdf.ttl +0 -7
  77. data/spec/test-files/test-6-compacted.jsonld +0 -10
  78. data/spec/test-files/test-6-context.jsonld +0 -7
  79. data/spec/test-files/test-6-expanded.jsonld +0 -10
  80. data/spec/test-files/test-6-input.jsonld +0 -10
  81. data/spec/test-files/test-6-rdf.ttl +0 -6
  82. data/spec/test-files/test-7-compacted.jsonld +0 -23
  83. data/spec/test-files/test-7-context.jsonld +0 -4
  84. data/spec/test-files/test-7-expanded.jsonld +0 -20
  85. data/spec/test-files/test-7-input.jsonld +0 -23
  86. data/spec/test-files/test-7-rdf.ttl +0 -14
  87. data/spec/test-files/test-8-compacted.jsonld +0 -34
  88. data/spec/test-files/test-8-context.jsonld +0 -11
  89. data/spec/test-files/test-8-expanded.jsonld +0 -24
  90. data/spec/test-files/test-8-frame.jsonld +0 -18
  91. data/spec/test-files/test-8-framed.jsonld +0 -25
  92. data/spec/test-files/test-8-input.jsonld +0 -30
  93. data/spec/test-files/test-8-rdf.ttl +0 -15
  94. data/spec/test-files/test-9-compacted.jsonld +0 -20
  95. data/spec/test-files/test-9-context.jsonld +0 -13
  96. data/spec/test-files/test-9-expanded.jsonld +0 -14
  97. data/spec/test-files/test-9-input.jsonld +0 -12
  98. data/spec/to_rdf_spec.rb +0 -1684
  99. data/spec/writer_spec.rb +0 -427
data/spec/api_spec.rb DELETED
@@ -1,132 +0,0 @@
1
-
2
- # coding: utf-8
3
- require_relative 'spec_helper'
4
-
5
- describe JSON::LD::API do
6
- let(:logger) {RDF::Spec.logger}
7
- before {JSON::LD::Context::PRELOADED.clear}
8
-
9
- describe "#initialize" do
10
- context "with string input" do
11
- let(:context) do
12
- JSON::LD::API::RemoteDocument.new(%q({
13
- "@context": {
14
- "xsd": "http://www.w3.org/2001/XMLSchema#",
15
- "name": "http://xmlns.com/foaf/0.1/name",
16
- "homepage": {"@id": "http://xmlns.com/foaf/0.1/homepage", "@type": "@id"},
17
- "avatar": {"@id": "http://xmlns.com/foaf/0.1/avatar", "@type": "@id"}
18
- }
19
- }),
20
- documentUrl: "http://example.com/context",
21
- contentType: 'application/ld+json'
22
- )
23
- end
24
- let(:remote_doc) do
25
- JSON::LD::API::RemoteDocument.new(%q({"@id": "", "name": "foo"}),
26
- documentUrl: "http://example.com/foo",
27
- contentType: 'application/ld+json',
28
- contextUrl: "http://example.com/context"
29
- )
30
- end
31
-
32
- it "loads document with loader and loads context" do
33
- expect(described_class).to receive(:documentLoader).with("http://example.com/foo", anything).and_yield(remote_doc)
34
- expect(described_class).to receive(:documentLoader).with("http://example.com/context", anything).and_yield(context)
35
- described_class.new("http://example.com/foo", nil)
36
- end
37
- end
38
- end
39
-
40
- context "when validating", pending: ("JRuby support for jsonlint" if RUBY_ENGINE == "jruby") do
41
- it "detects invalid JSON" do
42
- expect {described_class.new(StringIO.new(%({"a": "b", "a": "c"})), nil, validate: true)}.to raise_error(JSON::LD::JsonLdError::LoadingDocumentFailed)
43
- end
44
- end
45
-
46
- context "Test Files" do
47
- %i(oj json_gem ok_json yajl).each do |adapter|
48
- context "with MultiJson adapter #{adapter.inspect}" do
49
- Dir.glob(File.expand_path(File.join(File.dirname(__FILE__), 'test-files/*-input.*'))) do |filename|
50
- test = File.basename(filename).sub(/-input\..*$/, '')
51
- frame = filename.sub(/-input\..*$/, '-frame.jsonld')
52
- framed = filename.sub(/-input\..*$/, '-framed.jsonld')
53
- compacted = filename.sub(/-input\..*$/, '-compacted.jsonld')
54
- context = filename.sub(/-input\..*$/, '-context.jsonld')
55
- expanded = filename.sub(/-input\..*$/, '-expanded.jsonld')
56
- ttl = filename.sub(/-input\..*$/, '-rdf.ttl')
57
-
58
- context test, skip: ("Not supported in JRuby" if RUBY_ENGINE == "jruby" && %w(oj yajl).include?(adapter.to_s)) do
59
- around do |example|
60
- @file = File.open(filename)
61
- case filename
62
- when /.jsonld$/
63
- @file.define_singleton_method(:content_type) {'application/ld+json'}
64
- end
65
- if context
66
- @ctx_io = File.open(context)
67
- case context
68
- when /.jsonld$/
69
- @ctx_io.define_singleton_method(:content_type) {'application/ld+json'}
70
- end
71
- end
72
- example.run
73
- @file.close
74
- @ctx_io.close if @ctx_io
75
- end
76
-
77
- if File.exist?(expanded)
78
- it "expands" do
79
- options = {logger: logger, adapter: adapter}
80
- options[:expandContext] = @ctx_io if context
81
- jld = described_class.expand(@file, **options)
82
- expect(jld).to produce_jsonld(JSON.parse(File.read(expanded)), logger)
83
- end
84
-
85
- it "expands with serializer" do
86
- options = {logger: logger, adapter: adapter}
87
- options[:expandContext] = @ctx_io if context
88
- jld = described_class.expand(@file, serializer: JSON::LD::API.method(:serializer), **options)
89
- expect(jld).to be_a(String)
90
- expect(JSON.load(jld)).to produce_jsonld(JSON.parse(File.read(expanded)), logger)
91
- end
92
- end
93
-
94
- if File.exist?(compacted) && File.exist?(context)
95
- it "compacts" do
96
- jld = described_class.compact(@file, @ctx_io, adapter: adapter, logger: logger)
97
- expect(jld).to produce_jsonld(JSON.parse(File.read(compacted)), logger)
98
- end
99
-
100
- it "compacts with serializer" do
101
- jld = described_class.compact(@file, @ctx_io, serializer: JSON::LD::API.method(:serializer), adapter: adapter, logger: logger)
102
- expect(jld).to be_a(String)
103
- expect(JSON.load(jld)).to produce_jsonld(JSON.parse(File.read(compacted)), logger)
104
- end
105
- end
106
-
107
- if File.exist?(framed) && File.exist?(frame)
108
- it "frames" do
109
- File.open(frame) do |frame_io|
110
- jld = described_class.frame(@file, frame_io, adapter: adapter, logger: logger)
111
- expect(jld).to produce_jsonld(JSON.parse(File.read(framed)), logger)
112
- end
113
- end
114
-
115
- it "frames with serializer" do
116
- File.open(frame) do |frame_io|
117
- jld = described_class.frame(@file, frame_io, serializer: JSON::LD::API.method(:serializer), adapter: adapter, logger: logger)
118
- expect(jld).to be_a(String)
119
- expect(JSON.load(jld)).to produce_jsonld(JSON.parse(File.read(framed)), logger)
120
- end
121
- end
122
- end
123
-
124
- it "toRdf" do
125
- expect(RDF::Repository.load(filename, format: :jsonld, adapter: adapter, logger: logger)).to be_equivalent_graph(RDF::Repository.load(ttl), logger: logger)
126
- end if File.exist?(ttl)
127
- end
128
- end
129
- end
130
- end
131
- end
132
- end