json-ld 0.0.6 → 0.0.7
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.
- data/VERSION +1 -1
- data/lib/json/ld.rb +4 -26
- data/lib/json/ld/extensions.rb +6 -0
- data/lib/json/ld/format.rb +4 -3
- data/lib/json/ld/reader.rb +54 -28
- data/lib/json/ld/writer.rb +19 -17
- metadata +92 -156
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.0.
|
1
|
+
0.0.7
|
data/lib/json/ld.rb
CHANGED
@@ -42,38 +42,16 @@ module JSON
|
|
42
42
|
# Default context
|
43
43
|
# @see http://json-ld.org/spec/ED/20110507/#the-default-context
|
44
44
|
DEFAULT_CONTEXT = {
|
45
|
-
'rdf' => 'http://www.w3.org/1999/02/22-rdf-syntax-ns#',
|
46
|
-
'rdfs' => 'http://www.w3.org/2000/01/rdf-schema#',
|
47
|
-
'owl' => 'http://www.w3.org/2002/07/owl#',
|
48
|
-
'xsd' => 'http://www.w3.org/2001/XMLSchema#',
|
49
|
-
'dcterms' => 'http://purl.org/dc/terms/',
|
50
|
-
'foaf' => 'http://xmlns.com/foaf/0.1/',
|
51
|
-
'cal' => 'http://www.w3.org/2002/12/cal/ical#',
|
52
|
-
'vcard' => 'http://www.w3.org/2006/vcard/ns# ',
|
53
|
-
'geo' => 'http://www.w3.org/2003/01/geo/wgs84_pos#',
|
54
|
-
'cc' => 'http://creativecommons.org/ns#',
|
55
|
-
'sioc' => 'http://rdfs.org/sioc/ns#',
|
56
|
-
'doap' => 'http://usefulinc.com/ns/doap#',
|
57
|
-
'com' => 'http://purl.org/commerce#',
|
58
|
-
'ps' => 'http://purl.org/payswarm#',
|
59
|
-
'gr' => 'http://purl.org/goodrelations/v1#',
|
60
|
-
'sig' => 'http://purl.org/signature#',
|
61
|
-
'ccard' => 'http://purl.org/commerce/creditcard#',
|
62
45
|
'@coerce' => {
|
63
|
-
|
64
|
-
'xsd:anyURI' => ['rdf:type', 'rdf:rest', 'foaf:homepage', 'foaf:member'],
|
65
|
-
'xsd:integer' => 'foaf:age',
|
46
|
+
IRI => [TYPE]
|
66
47
|
}
|
67
48
|
}.freeze
|
68
49
|
|
69
50
|
# Default type coercion, in property => datatype order
|
70
51
|
DEFAULT_COERCE = {
|
71
|
-
|
72
|
-
RDF.first
|
73
|
-
RDF.rest
|
74
|
-
RDF::FOAF.homepage => RDF::XSD.anyURI,
|
75
|
-
RDF::FOAF.member => RDF::XSD.anyURI,
|
76
|
-
RDF::FOAF.age => RDF::XSD.integer,
|
52
|
+
TYPE => IRI,
|
53
|
+
RDF.first.to_s => false, # Make sure @coerce isn't generated for this
|
54
|
+
RDF.rest.to_s => IRI,
|
77
55
|
}.freeze
|
78
56
|
|
79
57
|
def self.debug?; @debug; end
|
data/lib/json/ld/extensions.rb
CHANGED
data/lib/json/ld/format.rb
CHANGED
@@ -21,8 +21,9 @@ module JSON::LD
|
|
21
21
|
#
|
22
22
|
# @see http://www.w3.org/TR/rdf-testcases/#ntriples
|
23
23
|
class Format < RDF::Format
|
24
|
-
content_type 'application/json', :extension => :json
|
25
|
-
content_type 'application/json', :extension => :ld
|
24
|
+
content_type 'application/ld+json', :extension => :json
|
25
|
+
content_type 'application/ld+json', :extension => :ld
|
26
|
+
content_type 'application/x-ld+json'
|
26
27
|
content_encoding 'utf-8'
|
27
28
|
|
28
29
|
reader { JSON::LD::Reader }
|
@@ -38,7 +39,7 @@ module JSON::LD
|
|
38
39
|
# RDF::Format.for(:jsonld).reader #=> JSON::LD::Reader
|
39
40
|
# RDF::Format.for(:jsonld).writer #=> JSON::LD::Writer
|
40
41
|
class JSONLD < RDF::Format
|
41
|
-
content_type 'application/json', :extension => :jsonld
|
42
|
+
content_type 'application/ld+json', :extension => :jsonld
|
42
43
|
content_encoding 'utf-8'
|
43
44
|
|
44
45
|
reader { JSON::LD::Reader }
|
data/lib/json/ld/reader.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
require 'open-uri'
|
2
|
+
|
1
3
|
module JSON::LD
|
2
4
|
##
|
3
5
|
# A JSON-LD parser in Ruby.
|
@@ -52,7 +54,7 @@ module JSON::LD
|
|
52
54
|
#
|
53
55
|
# The @coerce keyword is used to specify type coersion rules for the data. For each key in the map, the
|
54
56
|
# key is the type to be coerced to and the value is the vocabulary term to be coerced. Type coersion for
|
55
|
-
# the key `
|
57
|
+
# the key `@iri` asserts that all vocabulary terms listed should undergo coercion to an IRI,
|
56
58
|
# including `@base` processing for relative IRIs and CURIE processing for compact URI Expressions like
|
57
59
|
# `foaf:homepage`.
|
58
60
|
#
|
@@ -76,8 +78,8 @@ module JSON::LD
|
|
76
78
|
|
77
79
|
def inspect
|
78
80
|
v = %w([EvaluationContext) + %w(base vocab).map {|a| "#{a}='#{self.send(a).inspect}'"}
|
79
|
-
v << "mappings[#{mappings.keys.length}]"
|
80
|
-
v << "coerce[#{coerce.keys.length}]"
|
81
|
+
v << "mappings[#{mappings.keys.length}]=#{mappings}"
|
82
|
+
v << "coerce[#{coerce.keys.length}]=#{coerce}"
|
81
83
|
v.join(", ") + "]"
|
82
84
|
end
|
83
85
|
end
|
@@ -91,10 +93,15 @@ module JSON::LD
|
|
91
93
|
# @yield [reader] `self`
|
92
94
|
# @yieldparam [RDF::Reader] reader
|
93
95
|
# @yieldreturn [void] ignored
|
96
|
+
# @raise [RDF::ReaderError] if the JSON document cannot be loaded
|
94
97
|
def initialize(input = $stdin, options = {}, &block)
|
95
98
|
super do
|
96
99
|
@base_uri = uri(options[:base_uri]) if options[:base_uri]
|
97
|
-
|
100
|
+
begin
|
101
|
+
@doc = JSON.load(input)
|
102
|
+
rescue JSON::ParserError => e
|
103
|
+
raise RDF::ReaderError, "Failed to parse input document: #{e.message}"
|
104
|
+
end
|
98
105
|
|
99
106
|
if block_given?
|
100
107
|
case block.arity
|
@@ -160,6 +167,17 @@ module JSON::LD
|
|
160
167
|
prefixes.merge!(ec.mappings) # Update parsed prefixes
|
161
168
|
end
|
162
169
|
|
170
|
+
# 2.2) Create a new associative array by mapping the keys from the current associative array ...
|
171
|
+
new_element = {}
|
172
|
+
element.each do |k, v|
|
173
|
+
k = ec.mappings[k.to_sym] while ec.mappings.has_key?(k.to_sym)
|
174
|
+
new_element[k] = v
|
175
|
+
end
|
176
|
+
unless element == new_element
|
177
|
+
add_debug(path, "traverse: keys after map: #{new_element.keys.inspect}")
|
178
|
+
element = new_element
|
179
|
+
end
|
180
|
+
|
163
181
|
# Other shortcuts to allow use of this method for terminal associative arrays
|
164
182
|
if element[IRI].is_a?(String)
|
165
183
|
# Return the IRI found from the value
|
@@ -175,39 +193,36 @@ module JSON::LD
|
|
175
193
|
return
|
176
194
|
end
|
177
195
|
|
178
|
-
# 2.
|
179
|
-
# 2.
|
196
|
+
# 2.3) ... Otherwise, if the local context is known perform the following steps:
|
197
|
+
# 2.3.1) If a @ key is found, the processor sets the active subject to the
|
180
198
|
# value after Object Processing has been performed.
|
181
199
|
if element[SUBJECT].is_a?(String)
|
182
200
|
active_subject = expand_term(element[SUBJECT], ec.base, ec)
|
183
201
|
elsif element[SUBJECT]
|
184
202
|
# Recursively process hash or Array values
|
185
|
-
traverse("#{path}[
|
203
|
+
traverse("#{path}[#{SUBJECT}]", element[SUBJECT], subject, property, ec)
|
186
204
|
else
|
187
|
-
# 2.
|
205
|
+
# 2.3.7) If the end of the associative array is detected, and a active subject
|
188
206
|
# was not discovered, then:
|
189
|
-
# 2.
|
207
|
+
# 2.3.7.1) Generate a blank node identifier and set it as the active subject.
|
190
208
|
active_subject = RDF::Node.new
|
191
209
|
end
|
192
210
|
|
193
|
-
# 2.
|
211
|
+
# 2.3.1.1) If the inherited subject and inherited property values are
|
194
212
|
# specified, generate a triple using the inherited subject for the
|
195
213
|
# subject, the inherited property for the property, and the active
|
196
214
|
# subject for the object.
|
197
|
-
# 2.
|
215
|
+
# 2.3.7.2) Complete any previously incomplete triples by running all substeps of Step 2.2.1.
|
198
216
|
add_triple(path, subject, property, active_subject) if subject && property
|
199
217
|
subject = active_subject
|
200
218
|
|
201
219
|
element.each do |key, value|
|
202
|
-
# 2.
|
220
|
+
# 2.3.3) If a key that is not @context, @subject, or @type, set the active property by
|
203
221
|
# performing Property Processing on the key.
|
204
222
|
property = case key
|
205
|
-
when
|
206
|
-
|
207
|
-
|
208
|
-
RDF.type
|
209
|
-
else
|
210
|
-
expand_term(key, ec.vocab, ec)
|
223
|
+
when TYPE then TYPE
|
224
|
+
when /^@/ then nil
|
225
|
+
else expand_term(key, ec.vocab, ec)
|
211
226
|
end
|
212
227
|
|
213
228
|
traverse("#{path}[#{key}]", value, subject, property, ec) if property
|
@@ -238,14 +253,15 @@ module JSON::LD
|
|
238
253
|
end
|
239
254
|
when String
|
240
255
|
# Perform coersion of the value, or generate a literal
|
241
|
-
add_debug(path, "traverse(#{element}): coerce?(#{property.inspect}) == #{ec.coerce[property].inspect}, ec=#{ec.coerce.inspect}")
|
242
|
-
object = if ec.coerce[property] ==
|
256
|
+
add_debug(path, "traverse(#{element}): coerce?(#{property.inspect}) == #{ec.coerce[property.to_s].inspect}, ec=#{ec.coerce.inspect}")
|
257
|
+
object = if ec.coerce[property.to_s] == IRI
|
243
258
|
expand_term(element, ec.base, ec)
|
244
|
-
elsif ec.coerce[property]
|
245
|
-
RDF::Literal.new(element, :datatype => ec.coerce[property])
|
259
|
+
elsif ec.coerce[property.to_s]
|
260
|
+
RDF::Literal.new(element, :datatype => ec.coerce[property.to_s])
|
246
261
|
else
|
247
262
|
RDF::Literal.new(element)
|
248
263
|
end
|
264
|
+
property = RDF.type if property == TYPE
|
249
265
|
add_triple(path, subject, property, object) if subject && property
|
250
266
|
when Float
|
251
267
|
object = RDF::Literal::Double.new(element)
|
@@ -291,11 +307,21 @@ module JSON::LD
|
|
291
307
|
|
292
308
|
##
|
293
309
|
# Parse a JSON context, into a new EvaluationContext
|
294
|
-
# @param [Hash{String => String,Hash}] context
|
310
|
+
# @param [Hash{String => String,Hash}, String] context
|
295
311
|
# JSON representation of @context
|
296
312
|
# @return [EvaluationContext]
|
297
|
-
# @raise [RDF::ReaderError]
|
313
|
+
# @raise [RDF::ReaderError]
|
314
|
+
# on a remote context load error, syntax error, or a reference to a term which is not defined.
|
298
315
|
def parse_context(ec, context)
|
316
|
+
# Load context document, if it is a string
|
317
|
+
if context.is_a?(String)
|
318
|
+
begin
|
319
|
+
context = open(context.to_s) {|f| JSON.load(f)}
|
320
|
+
rescue JSON::ParserError => e
|
321
|
+
raise RDF::ReaderError, "Failed to parse remote context at #{context}: #{e.message}"
|
322
|
+
end
|
323
|
+
end
|
324
|
+
|
299
325
|
context.each do |key, value|
|
300
326
|
add_debug("parse_context(#{key})", value.inspect)
|
301
327
|
case key
|
@@ -315,13 +341,13 @@ module JSON::LD
|
|
315
341
|
if context[COERCE]
|
316
342
|
# Spec confusion: doc says to merge each key-value mapping to the local context's @coerce mapping,
|
317
343
|
# overwriting duplicate values. In the case where a mapping is indicated to a list of properties
|
318
|
-
# (e.g., { "
|
319
|
-
# of { "
|
344
|
+
# (e.g., { "@iri": ["foaf:homepage", "foaf:member"] }, does this overwrite a previous mapping
|
345
|
+
# of { "@iri": "foaf:knows" }, or add to it.
|
320
346
|
add_error RDF::ReaderError, "Expected @coerce to reference an associative array" unless context[COERCE].is_a?(Hash)
|
321
347
|
context[COERCE].each do |type, property|
|
322
|
-
type_uri = expand_term(type, ec.vocab, ec)
|
348
|
+
type_uri = expand_term(type, ec.vocab, ec).to_s
|
323
349
|
[property].flatten.compact.each do |prop|
|
324
|
-
p = expand_term(prop, ec.vocab, ec)
|
350
|
+
p = expand_term(prop, ec.vocab, ec).to_s
|
325
351
|
ec.coerce[p] = type_uri
|
326
352
|
end
|
327
353
|
end
|
data/lib/json/ld/writer.rb
CHANGED
@@ -66,7 +66,7 @@ module JSON::LD
|
|
66
66
|
#
|
67
67
|
# Maintained as a reverse mapping of `property` => `type`.
|
68
68
|
#
|
69
|
-
# @attr [Hash{
|
69
|
+
# @attr [Hash{String => String}]
|
70
70
|
attr :coerce, true
|
71
71
|
|
72
72
|
def self.new_hash
|
@@ -345,13 +345,11 @@ module JSON::LD
|
|
345
345
|
unless coerce == DEFAULT_COERCE
|
346
346
|
c_h = new_hash
|
347
347
|
coerce.keys.sort.each do |k|
|
348
|
-
next if
|
349
|
-
|
350
|
-
|
351
|
-
coerce[k] == RDF::XSD.boolean
|
352
|
-
k_iri = format_uri(k, :position => :predicate)
|
348
|
+
next if [TYPE, RDF.type.to_s].include?(k.to_s)
|
349
|
+
next if [DEFAULT_COERCE[k], false, RDF::XSD.integer.to_s, RDF::XSD.boolean.to_s].include?(coerce[k])
|
350
|
+
k_iri = k == IRI ? IRI : format_uri(k, :position => :predicate)
|
353
351
|
d_iri = format_uri(coerce[k], :position => :subject)
|
354
|
-
add_debug "coerce[#{k_iri}] => #{d_iri}"
|
352
|
+
add_debug "coerce[#{k_iri}] => #{d_iri}, k=#{k.inspect}"
|
355
353
|
case c_h[d_iri]
|
356
354
|
when nil
|
357
355
|
c_h[d_iri] = k_iri
|
@@ -496,6 +494,10 @@ module JSON::LD
|
|
496
494
|
case resource
|
497
495
|
when RDF::Node
|
498
496
|
return resource.to_s
|
497
|
+
when String
|
498
|
+
iri = resource
|
499
|
+
resource = RDF::URI(resource)
|
500
|
+
return nil unless resource.absolute?
|
499
501
|
when RDF::URI
|
500
502
|
iri = resource.to_s
|
501
503
|
return iri if options[:canonicalize]
|
@@ -583,14 +585,14 @@ module JSON::LD
|
|
583
585
|
def iri_range?(predicate)
|
584
586
|
return false if predicate.nil? || @options[:canonicalize]
|
585
587
|
|
586
|
-
unless coerce.has_key?(predicate)
|
588
|
+
unless coerce.has_key?(predicate.to_s)
|
587
589
|
# objects of all statements with the predicate may not be literal
|
588
|
-
coerce[predicate] = @graph.query(:predicate => predicate).to_a.any? {|st| st.object.literal?} ?
|
589
|
-
false :
|
590
|
+
coerce[predicate.to_s] = @graph.query(:predicate => predicate).to_a.any? {|st| st.object.literal?} ?
|
591
|
+
false : IRI
|
590
592
|
end
|
591
593
|
|
592
|
-
add_debug "iri_range(#{predicate}) = #{coerce[predicate].inspect}"
|
593
|
-
coerce[predicate] ==
|
594
|
+
add_debug "iri_range(#{predicate}) = #{coerce[predicate.to_s].inspect}"
|
595
|
+
coerce[predicate.to_s] == IRI
|
594
596
|
end
|
595
597
|
|
596
598
|
##
|
@@ -598,23 +600,23 @@ module JSON::LD
|
|
598
600
|
# @param [RDF::URI] predicate
|
599
601
|
# @return [Boolean]
|
600
602
|
def datatype_range?(predicate)
|
601
|
-
unless coerce.has_key?(predicate)
|
603
|
+
unless coerce.has_key?(predicate.to_s)
|
602
604
|
# objects of all statements with the predicate must be literal
|
603
605
|
# and have the same non-nil datatype
|
604
606
|
dt = nil
|
605
607
|
@graph.query(:predicate => predicate) do |st|
|
606
608
|
if st.object.literal? && st.object.has_datatype?
|
607
|
-
dt = st.object.datatype if dt.nil?
|
608
|
-
dt = false unless dt == st.object.datatype
|
609
|
+
dt = st.object.datatype.to_s if dt.nil?
|
610
|
+
dt = false unless dt == st.object.datatype.to_s
|
609
611
|
else
|
610
612
|
dt = false
|
611
613
|
end
|
612
614
|
end
|
613
615
|
add_debug "range(#{predicate}) = #{dt.inspect}"
|
614
|
-
coerce[predicate] = dt
|
616
|
+
coerce[predicate.to_s] = dt
|
615
617
|
end
|
616
618
|
|
617
|
-
coerce[predicate]
|
619
|
+
coerce[predicate.to_s]
|
618
620
|
end
|
619
621
|
|
620
622
|
# Reset internal helper instance variables
|
metadata
CHANGED
@@ -1,186 +1,133 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: json-ld
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.7
|
5
5
|
prerelease:
|
6
|
-
segments:
|
7
|
-
- 0
|
8
|
-
- 0
|
9
|
-
- 6
|
10
|
-
version: 0.0.6
|
11
6
|
platform: ruby
|
12
|
-
authors:
|
7
|
+
authors:
|
13
8
|
- Gregg Kellogg
|
14
9
|
autorequire:
|
15
10
|
bindir: bin
|
16
11
|
cert_chain: []
|
17
|
-
|
18
|
-
date: 2011-06-29 00:00:00 -07:00
|
12
|
+
date: 2011-08-05 00:00:00.000000000 -07:00
|
19
13
|
default_executable:
|
20
|
-
dependencies:
|
21
|
-
- !ruby/object:Gem::Dependency
|
14
|
+
dependencies:
|
15
|
+
- !ruby/object:Gem::Dependency
|
22
16
|
name: rdf
|
23
|
-
|
24
|
-
requirement: &id001 !ruby/object:Gem::Requirement
|
17
|
+
requirement: &2168459600 !ruby/object:Gem::Requirement
|
25
18
|
none: false
|
26
|
-
requirements:
|
27
|
-
- -
|
28
|
-
- !ruby/object:Gem::Version
|
29
|
-
hash: 21
|
30
|
-
segments:
|
31
|
-
- 0
|
32
|
-
- 3
|
33
|
-
- 3
|
19
|
+
requirements:
|
20
|
+
- - ! '>='
|
21
|
+
- !ruby/object:Gem::Version
|
34
22
|
version: 0.3.3
|
35
23
|
type: :runtime
|
36
|
-
version_requirements: *id001
|
37
|
-
- !ruby/object:Gem::Dependency
|
38
|
-
name: json
|
39
24
|
prerelease: false
|
40
|
-
|
25
|
+
version_requirements: *2168459600
|
26
|
+
- !ruby/object:Gem::Dependency
|
27
|
+
name: json
|
28
|
+
requirement: &2168459140 !ruby/object:Gem::Requirement
|
41
29
|
none: false
|
42
|
-
requirements:
|
43
|
-
- -
|
44
|
-
- !ruby/object:Gem::Version
|
45
|
-
hash: 1
|
46
|
-
segments:
|
47
|
-
- 1
|
48
|
-
- 5
|
49
|
-
- 1
|
30
|
+
requirements:
|
31
|
+
- - ! '>='
|
32
|
+
- !ruby/object:Gem::Version
|
50
33
|
version: 1.5.1
|
51
34
|
type: :runtime
|
52
|
-
version_requirements: *id002
|
53
|
-
- !ruby/object:Gem::Dependency
|
54
|
-
name: yard
|
55
35
|
prerelease: false
|
56
|
-
|
36
|
+
version_requirements: *2168459140
|
37
|
+
- !ruby/object:Gem::Dependency
|
38
|
+
name: yard
|
39
|
+
requirement: &2168458680 !ruby/object:Gem::Requirement
|
57
40
|
none: false
|
58
|
-
requirements:
|
59
|
-
- -
|
60
|
-
- !ruby/object:Gem::Version
|
61
|
-
hash: 7
|
62
|
-
segments:
|
63
|
-
- 0
|
64
|
-
- 6
|
65
|
-
- 0
|
41
|
+
requirements:
|
42
|
+
- - ! '>='
|
43
|
+
- !ruby/object:Gem::Version
|
66
44
|
version: 0.6.0
|
67
45
|
type: :development
|
68
|
-
version_requirements: *id003
|
69
|
-
- !ruby/object:Gem::Dependency
|
70
|
-
name: rspec
|
71
46
|
prerelease: false
|
72
|
-
|
47
|
+
version_requirements: *2168458680
|
48
|
+
- !ruby/object:Gem::Dependency
|
49
|
+
name: rspec
|
50
|
+
requirement: &2168458220 !ruby/object:Gem::Requirement
|
73
51
|
none: false
|
74
|
-
requirements:
|
75
|
-
- -
|
76
|
-
- !ruby/object:Gem::Version
|
77
|
-
hash: 27
|
78
|
-
segments:
|
79
|
-
- 2
|
80
|
-
- 5
|
81
|
-
- 0
|
52
|
+
requirements:
|
53
|
+
- - ! '>='
|
54
|
+
- !ruby/object:Gem::Version
|
82
55
|
version: 2.5.0
|
83
56
|
type: :development
|
84
|
-
version_requirements: *id004
|
85
|
-
- !ruby/object:Gem::Dependency
|
86
|
-
name: rdf-spec
|
87
57
|
prerelease: false
|
88
|
-
|
58
|
+
version_requirements: *2168458220
|
59
|
+
- !ruby/object:Gem::Dependency
|
60
|
+
name: rdf-spec
|
61
|
+
requirement: &2168457760 !ruby/object:Gem::Requirement
|
89
62
|
none: false
|
90
|
-
requirements:
|
91
|
-
- -
|
92
|
-
- !ruby/object:Gem::Version
|
93
|
-
hash: 23
|
94
|
-
segments:
|
95
|
-
- 0
|
96
|
-
- 3
|
97
|
-
- 2
|
63
|
+
requirements:
|
64
|
+
- - ! '>='
|
65
|
+
- !ruby/object:Gem::Version
|
98
66
|
version: 0.3.2
|
99
67
|
type: :development
|
100
|
-
version_requirements: *id005
|
101
|
-
- !ruby/object:Gem::Dependency
|
102
|
-
name: rdf-n3
|
103
68
|
prerelease: false
|
104
|
-
|
69
|
+
version_requirements: *2168457760
|
70
|
+
- !ruby/object:Gem::Dependency
|
71
|
+
name: rdf-n3
|
72
|
+
requirement: &2168487740 !ruby/object:Gem::Requirement
|
105
73
|
none: false
|
106
|
-
requirements:
|
107
|
-
- -
|
108
|
-
- !ruby/object:Gem::Version
|
109
|
-
hash: 21
|
110
|
-
segments:
|
111
|
-
- 0
|
112
|
-
- 3
|
113
|
-
- 3
|
74
|
+
requirements:
|
75
|
+
- - ! '>='
|
76
|
+
- !ruby/object:Gem::Version
|
114
77
|
version: 0.3.3
|
115
78
|
type: :development
|
116
|
-
version_requirements: *id006
|
117
|
-
- !ruby/object:Gem::Dependency
|
118
|
-
name: rdf-isomorphic
|
119
79
|
prerelease: false
|
120
|
-
|
80
|
+
version_requirements: *2168487740
|
81
|
+
- !ruby/object:Gem::Dependency
|
82
|
+
name: rdf-isomorphic
|
83
|
+
requirement: &2168487280 !ruby/object:Gem::Requirement
|
121
84
|
none: false
|
122
|
-
requirements:
|
123
|
-
- -
|
124
|
-
- !ruby/object:Gem::Version
|
125
|
-
hash: 27
|
126
|
-
segments:
|
127
|
-
- 0
|
128
|
-
- 3
|
129
|
-
- 4
|
85
|
+
requirements:
|
86
|
+
- - ! '>='
|
87
|
+
- !ruby/object:Gem::Version
|
130
88
|
version: 0.3.4
|
131
89
|
type: :development
|
132
|
-
version_requirements: *id007
|
133
|
-
- !ruby/object:Gem::Dependency
|
134
|
-
name: sxp
|
135
90
|
prerelease: false
|
136
|
-
|
91
|
+
version_requirements: *2168487280
|
92
|
+
- !ruby/object:Gem::Dependency
|
93
|
+
name: sxp
|
94
|
+
requirement: &2168486820 !ruby/object:Gem::Requirement
|
137
95
|
none: false
|
138
|
-
requirements:
|
139
|
-
- -
|
140
|
-
- !ruby/object:Gem::Version
|
141
|
-
|
142
|
-
segments:
|
143
|
-
- 0
|
144
|
-
version: "0"
|
96
|
+
requirements:
|
97
|
+
- - ! '>='
|
98
|
+
- !ruby/object:Gem::Version
|
99
|
+
version: '0'
|
145
100
|
type: :development
|
146
|
-
version_requirements: *id008
|
147
|
-
- !ruby/object:Gem::Dependency
|
148
|
-
name: sparql-algebra
|
149
101
|
prerelease: false
|
150
|
-
|
102
|
+
version_requirements: *2168486820
|
103
|
+
- !ruby/object:Gem::Dependency
|
104
|
+
name: sparql-algebra
|
105
|
+
requirement: &2168486360 !ruby/object:Gem::Requirement
|
151
106
|
none: false
|
152
|
-
requirements:
|
153
|
-
- -
|
154
|
-
- !ruby/object:Gem::Version
|
155
|
-
|
156
|
-
segments:
|
157
|
-
- 0
|
158
|
-
version: "0"
|
107
|
+
requirements:
|
108
|
+
- - ! '>='
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: '0'
|
159
111
|
type: :development
|
160
|
-
version_requirements: *id009
|
161
|
-
- !ruby/object:Gem::Dependency
|
162
|
-
name: sparql-grammar
|
163
112
|
prerelease: false
|
164
|
-
|
113
|
+
version_requirements: *2168486360
|
114
|
+
- !ruby/object:Gem::Dependency
|
115
|
+
name: sparql-grammar
|
116
|
+
requirement: &2168485900 !ruby/object:Gem::Requirement
|
165
117
|
none: false
|
166
|
-
requirements:
|
167
|
-
- -
|
168
|
-
- !ruby/object:Gem::Version
|
169
|
-
|
170
|
-
segments:
|
171
|
-
- 0
|
172
|
-
version: "0"
|
118
|
+
requirements:
|
119
|
+
- - ! '>='
|
120
|
+
- !ruby/object:Gem::Version
|
121
|
+
version: '0'
|
173
122
|
type: :development
|
174
|
-
|
123
|
+
prerelease: false
|
124
|
+
version_requirements: *2168485900
|
175
125
|
description: JSON-LD reader/writer for Ruby.
|
176
126
|
email: public-rdf-ruby@w3.org
|
177
127
|
executables: []
|
178
|
-
|
179
128
|
extensions: []
|
180
|
-
|
181
129
|
extra_rdoc_files: []
|
182
|
-
|
183
|
-
files:
|
130
|
+
files:
|
184
131
|
- AUTHORS
|
185
132
|
- README
|
186
133
|
- UNLICENSE
|
@@ -193,39 +140,28 @@ files:
|
|
193
140
|
- lib/json/ld.rb
|
194
141
|
has_rdoc: false
|
195
142
|
homepage: http://github.com/gkellogg/json-ld
|
196
|
-
licenses:
|
143
|
+
licenses:
|
197
144
|
- Public Domain
|
198
145
|
post_install_message:
|
199
146
|
rdoc_options: []
|
200
|
-
|
201
|
-
require_paths:
|
147
|
+
require_paths:
|
202
148
|
- lib
|
203
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
149
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
204
150
|
none: false
|
205
|
-
requirements:
|
206
|
-
- -
|
207
|
-
- !ruby/object:Gem::Version
|
208
|
-
hash: 53
|
209
|
-
segments:
|
210
|
-
- 1
|
211
|
-
- 8
|
212
|
-
- 1
|
151
|
+
requirements:
|
152
|
+
- - ! '>='
|
153
|
+
- !ruby/object:Gem::Version
|
213
154
|
version: 1.8.1
|
214
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
155
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
215
156
|
none: false
|
216
|
-
requirements:
|
217
|
-
- -
|
218
|
-
- !ruby/object:Gem::Version
|
219
|
-
|
220
|
-
segments:
|
221
|
-
- 0
|
222
|
-
version: "0"
|
157
|
+
requirements:
|
158
|
+
- - ! '>='
|
159
|
+
- !ruby/object:Gem::Version
|
160
|
+
version: '0'
|
223
161
|
requirements: []
|
224
|
-
|
225
162
|
rubyforge_project: json-ld
|
226
|
-
rubygems_version: 1.
|
163
|
+
rubygems_version: 1.6.2
|
227
164
|
signing_key:
|
228
165
|
specification_version: 3
|
229
166
|
summary: JSON-LD reader/writer for Ruby.
|
230
167
|
test_files: []
|
231
|
-
|