rdf 1.1.17.1 → 1.99.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 +4 -4
- data/README +9 -9
- data/VERSION +1 -1
- data/lib/rdf/cli.rb +10 -10
- data/lib/rdf/format.rb +9 -9
- data/lib/rdf/mixin/enumerable.rb +66 -38
- data/lib/rdf/mixin/mutable.rb +11 -5
- data/lib/rdf/mixin/queryable.rb +2 -2
- data/lib/rdf/model/graph.rb +60 -40
- data/lib/rdf/model/list.rb +9 -9
- data/lib/rdf/model/literal/boolean.rb +1 -1
- data/lib/rdf/model/literal/date.rb +1 -1
- data/lib/rdf/model/literal/datetime.rb +5 -5
- data/lib/rdf/model/literal/decimal.rb +1 -1
- data/lib/rdf/model/literal/double.rb +3 -1
- data/lib/rdf/model/literal/integer.rb +1 -1
- data/lib/rdf/model/literal/time.rb +5 -5
- data/lib/rdf/model/literal/token.rb +1 -1
- data/lib/rdf/model/literal.rb +40 -6
- data/lib/rdf/model/node.rb +1 -1
- data/lib/rdf/model/statement.rb +88 -30
- data/lib/rdf/model/term.rb +10 -1
- data/lib/rdf/model/uri.rb +24 -25
- data/lib/rdf/nquads.rb +13 -22
- data/lib/rdf/ntriples/format.rb +4 -5
- data/lib/rdf/ntriples/reader.rb +10 -10
- data/lib/rdf/ntriples/writer.rb +6 -6
- data/lib/rdf/query/pattern.rb +49 -35
- data/lib/rdf/query/solution.rb +1 -1
- data/lib/rdf/query/solutions.rb +4 -4
- data/lib/rdf/query.rb +81 -40
- data/lib/rdf/reader.rb +22 -5
- data/lib/rdf/repository.rb +86 -37
- data/lib/rdf/transaction.rb +41 -20
- data/lib/rdf/util/file.rb +35 -18
- data/lib/rdf/vocab/schema.rb +5129 -5127
- data/lib/rdf/vocabulary.rb +43 -60
- data/lib/rdf/writer.rb +22 -12
- data/lib/rdf.rb +19 -4
- metadata +19 -5
data/lib/rdf/vocabulary.rb
CHANGED
@@ -12,45 +12,17 @@ module RDF
|
|
12
12
|
# The following vocabularies are pre-defined for your convenience:
|
13
13
|
#
|
14
14
|
# * {RDF} - Resource Description Framework (RDF)
|
15
|
-
# * {RDF::CC} - Creative Commons (CC)
|
16
|
-
# * {RDF::CERT} - W3 Authentication Certificate (CERT)
|
17
|
-
# * {RDF::DC} - Dublin Core (DC)
|
18
|
-
# * {RDF::DC11} - Dublin Core 1.1 (DC11) _deprecated_
|
19
|
-
# * {RDF::DOAP} - Description of a Project (DOAP)
|
20
|
-
# * {RDF::EXIF} - Exchangeable Image File Format (EXIF)
|
21
|
-
# * {RDF::FOAF} - Friend of a Friend (FOAF)
|
22
|
-
# * {RDF::GEO} - WGS84 Geo Positioning (GEO)
|
23
|
-
# * {RDF::GR} - Good Relations
|
24
|
-
# * {RDF::HT} - Hypertext Transfer Protocol (HTTP)
|
25
|
-
# * {RDF::ICAL} - iCal
|
26
|
-
# * {RDF::MA} - W3C Meda Annotations
|
27
|
-
# * {RDF::OG} - FaceBook OpenGraph
|
28
15
|
# * {RDF::OWL} - Web Ontology Language (OWL)
|
29
|
-
# * {RDF::PROV} - W3C Provenance Ontology
|
30
16
|
# * {RDF::RDFS} - RDF Schema (RDFS)
|
31
|
-
# * {RDF::RSA} - W3 RSA Keys (RSA)
|
32
|
-
# * {RDF::RSS} - RDF Site Summary (RSS)
|
33
|
-
# * {RDF::SCHEMA} - Schema.org
|
34
|
-
# * {RDF::SIOC} - Semantically-Interlinked Online Communities (SIOC)
|
35
|
-
# * {RDF::SKOS} - Simple Knowledge Organization System (SKOS)
|
36
|
-
# * {RDF::SKOSXL} - SKOS Simple Knowledge Organization System eXtension for Labels (SKOS-XL)
|
37
|
-
# * {RDF::V} - Data Vocabulary
|
38
|
-
# * {RDF::VCARD} - vCard vocabulary
|
39
|
-
# * {RDF::VOID} - Vocabulary of Interlinked Datasets (VoID)
|
40
|
-
# * {RDF::WDRS} - Protocol for Web Description Resources (POWDER)
|
41
|
-
# * {RDF::WOT} - Web of Trust (WOT)
|
42
|
-
# * {RDF::XHTML} - Extensible HyperText Markup Language (XHTML)
|
43
|
-
# * {RDF::XHV} - W3C XHTML Vocabulary
|
44
17
|
# * {RDF::XSD} - XML Schema (XSD)
|
45
18
|
#
|
19
|
+
# Other vocabularies are defined in the [rdf-vocab](http://rubygems.org/gems/rdf-vocab) gem
|
20
|
+
#
|
46
21
|
# @example Using pre-defined RDF vocabularies
|
47
22
|
# include RDF
|
48
23
|
#
|
49
|
-
# DC.title #=> RDF::URI("http://purl.org/dc/terms/title")
|
50
|
-
# FOAF.knows #=> RDF::URI("http://xmlns.com/foaf/0.1/knows")
|
51
24
|
# RDF.type #=> RDF::URI("http://www.w3.org/1999/02/22-rdf-syntax-ns#type")
|
52
25
|
# RDFS.seeAlso #=> RDF::URI("http://www.w3.org/2000/01/rdf-schema#seeAlso")
|
53
|
-
# RSS.title #=> RDF::URI("http://purl.org/rss/1.0/title")
|
54
26
|
# OWL.sameAs #=> RDF::URI("http://www.w3.org/2002/07/owl#sameAs")
|
55
27
|
# XSD.dateTime #=> RDF::URI("http://www.w3.org/2001/XMLSchema#dateTime")
|
56
28
|
#
|
@@ -143,7 +115,7 @@ module RDF
|
|
143
115
|
Term.intern("#{self}property", attributes: {label: "property", vocab: self})
|
144
116
|
else
|
145
117
|
name, options = args
|
146
|
-
options = {:
|
118
|
+
options = {label: name.to_s, vocab: self}.merge(options || {})
|
147
119
|
uri_str = [to_s, name.to_s].join('')
|
148
120
|
Term.cache.delete(uri_str) # Clear any previous entry
|
149
121
|
prop = Term.intern(uri_str, attributes: options)
|
@@ -247,17 +219,17 @@ module RDF
|
|
247
219
|
|
248
220
|
##
|
249
221
|
# @return [String] The label for the named property
|
250
|
-
# @deprecated Use {RDF::Vocabulary::Term#label}
|
222
|
+
# @deprecated Use {RDF::Vocabulary::Term#label} instead.
|
251
223
|
def label_for(name)
|
252
|
-
warn "[DEPRECATION] `Vocabulary.label_for is deprecated. Please use Vocabulary::Term#label instead."
|
224
|
+
warn "[DEPRECATION] `Vocabulary.label_for is deprecated. Please use Vocabulary::Term#label instead. Called from #{Gem.location_of_caller.join(':')}"
|
253
225
|
self[name].label || ''
|
254
226
|
end
|
255
227
|
|
256
228
|
##
|
257
229
|
# @return [String] The comment for the named property
|
258
|
-
# @deprecated Use {RDF::Vocabulary::Term#comment}
|
230
|
+
# @deprecated Use {RDF::Vocabulary::Term#comment} instead.
|
259
231
|
def comment_for(name)
|
260
|
-
warn "[DEPRECATION] `Vocabulary.comment_for is deprecated. Please use Vocabulary::Term#comment instead."
|
232
|
+
warn "[DEPRECATION] `Vocabulary.comment_for is deprecated. Please use Vocabulary::Term#comment instead. Called from #{Gem.location_of_caller.join(':')}"
|
261
233
|
self[name].comment || ''
|
262
234
|
end
|
263
235
|
|
@@ -315,7 +287,7 @@ module RDF
|
|
315
287
|
# @option options [URI, #to_s] :location
|
316
288
|
# Location from which to load the vocabulary, if not from `uri`.
|
317
289
|
# @option options [Array<Symbol>, Hash{Symbol => Hash}] :extra
|
318
|
-
# Extra terms to add to the vocabulary. In the first form, it is an array of symbols, for which terms are created. In the second, it is a Hash mapping symbols to property attributes, as described in {
|
290
|
+
# Extra terms to add to the vocabulary. In the first form, it is an array of symbols, for which terms are created. In the second, it is a Hash mapping symbols to property attributes, as described in {RDF::Vocabulary.property}.
|
319
291
|
# @return [RDF::Vocabulary] the loaded vocabulary
|
320
292
|
def load(uri, options = {})
|
321
293
|
source = options.fetch(:location, uri)
|
@@ -508,8 +480,39 @@ module RDF
|
|
508
480
|
|
509
481
|
# A Vocabulary Term is a URI that can also act as an {Enumerable} to generate the RDF definition of vocabulary terms as defined within the vocabulary definition.
|
510
482
|
class Term < RDF::URI
|
511
|
-
#
|
512
|
-
#
|
483
|
+
# @!method comment
|
484
|
+
# `rdfs:comment` accessor
|
485
|
+
# @return [String]
|
486
|
+
# @!method label
|
487
|
+
# `rdfs:label` accessor
|
488
|
+
# @return [String]
|
489
|
+
# @!method type
|
490
|
+
# `rdf:type` accessor
|
491
|
+
# @return [RDF::URI]
|
492
|
+
# @!method subClassOf
|
493
|
+
# `rdfs:subClassOf` accessor
|
494
|
+
# @return [RDF::URI]
|
495
|
+
# @!method subPropertyOf
|
496
|
+
# `rdfs:subPropertyOf` accessor
|
497
|
+
# @return [RDF::URI]
|
498
|
+
# @!method domain
|
499
|
+
# `rdfs:domain` accessor
|
500
|
+
# @return [RDF::URI]
|
501
|
+
# @!method range
|
502
|
+
# `rdfs:range` accessor
|
503
|
+
# @return [RDF::URI]
|
504
|
+
# @!method inverseOf
|
505
|
+
# `owl:inverseOf` accessor
|
506
|
+
# @return [RDF::URI]
|
507
|
+
# @!method domainIncludes
|
508
|
+
# `schema:domainIncludes` accessor
|
509
|
+
# @return [RDF::URI]
|
510
|
+
# @!method rangeIncludes
|
511
|
+
# `schema:rangeIncludes` accoessor
|
512
|
+
# @return [RDF::URI]
|
513
|
+
# @!attribute [rw] attributes
|
514
|
+
# Attributes of this vocabulary term, used for finding `label` and `comment` and to serialize the term back to RDF.
|
515
|
+
# @return [Hash{Symbol,Resource => Term, #to_s}]
|
513
516
|
attr_accessor :attributes
|
514
517
|
|
515
518
|
##
|
@@ -680,38 +683,18 @@ module RDF
|
|
680
683
|
@attributes.has_key?(method) || super
|
681
684
|
end
|
682
685
|
|
683
|
-
# Accessor for
|
686
|
+
# Accessor for `domainIncludes`
|
684
687
|
# @return [RDF::URI]
|
685
688
|
def domain_includes
|
686
689
|
Array(@attributes[:domainIncludes]).map {|v| RDF::Vocabulary.expand_pname(v)}
|
687
690
|
end
|
688
691
|
|
689
|
-
# Accessor for
|
692
|
+
# Accessor for `rangeIncludes`
|
690
693
|
# @return [RDF::URI]
|
691
694
|
def range_includes
|
692
695
|
Array(@attributes[:rangeIncludes]).map {|v| RDF::Vocabulary.expand_pname(v)}
|
693
696
|
end
|
694
697
|
|
695
|
-
# @!method comment
|
696
|
-
# @return [String]
|
697
|
-
# @!method label
|
698
|
-
# @return [String]
|
699
|
-
# @!method type
|
700
|
-
# @return [RDF::URI]
|
701
|
-
# @!method subClassOf
|
702
|
-
# @return [RDF::URI]
|
703
|
-
# @!method subPropertyOf
|
704
|
-
# @return [RDF::URI]
|
705
|
-
# @!method domain
|
706
|
-
# @return [RDF::URI]
|
707
|
-
# @!method range
|
708
|
-
# @return [RDF::URI]
|
709
|
-
# @!method inverseOf
|
710
|
-
# @return [RDF::URI]
|
711
|
-
# @!method domainIncludes
|
712
|
-
# @return [RDF::URI]
|
713
|
-
# @!method rangeIncludes
|
714
|
-
# @return [RDF::URI]
|
715
698
|
protected
|
716
699
|
# Implement accessor to symbol attributes
|
717
700
|
def method_missing(method, *args, &block)
|
data/lib/rdf/writer.rb
CHANGED
@@ -12,9 +12,9 @@ module RDF
|
|
12
12
|
# @example Obtaining an RDF writer class
|
13
13
|
# RDF::Writer.for(:ntriples) #=> RDF::NTriples::Writer
|
14
14
|
# RDF::Writer.for("spec/data/output.nt")
|
15
|
-
# RDF::Writer.for(:
|
16
|
-
# RDF::Writer.for(:
|
17
|
-
# RDF::Writer.for(:
|
15
|
+
# RDF::Writer.for(file_name: "spec/data/output.nt")
|
16
|
+
# RDF::Writer.for(file_extension: "nt")
|
17
|
+
# RDF::Writer.for(content_type: "application/n-triples")
|
18
18
|
#
|
19
19
|
# @example Instantiating an RDF writer class
|
20
20
|
# RDF::Writer.for(:ntriples).new($stdout) { |writer| ... }
|
@@ -78,7 +78,7 @@ module RDF
|
|
78
78
|
#
|
79
79
|
# @return [Class]
|
80
80
|
def self.for(options = {})
|
81
|
-
options = options.merge(:
|
81
|
+
options = options.merge(has_writer: true) if options.is_a?(Hash)
|
82
82
|
if format = self.format || Format.for(options)
|
83
83
|
format.writer
|
84
84
|
end
|
@@ -115,7 +115,7 @@ module RDF
|
|
115
115
|
if io.is_a?(String)
|
116
116
|
io = File.open(io, 'w')
|
117
117
|
elsif io.respond_to?(:external_encoding) && io.external_encoding
|
118
|
-
options = {:
|
118
|
+
options = {encoding: io.external_encoding}.merge(options)
|
119
119
|
end
|
120
120
|
io.set_encoding(options[:encoding]) if io.respond_to?(:set_encoding) && options[:encoding]
|
121
121
|
method = data.respond_to?(:each_statement) ? :each_statement : :each
|
@@ -206,7 +206,7 @@ module RDF
|
|
206
206
|
# the base URI to use when constructing relative URIs (not supported
|
207
207
|
# by all writers)
|
208
208
|
# @option options [Boolean] :unique_bnodes (false)
|
209
|
-
# Use unique {Node} identifiers, defaults to using the identifier which the node was originall initialized with (if any). Implementations should ensure that Nodes are serialized using a unique representation independent of any identifier used when creating the node. See {NTriples#format_node}
|
209
|
+
# Use unique {Node} identifiers, defaults to using the identifier which the node was originall initialized with (if any). Implementations should ensure that Nodes are serialized using a unique representation independent of any identifier used when creating the node. See {NTriples::Writer#format_node}
|
210
210
|
# @yield [writer] `self`
|
211
211
|
# @yieldparam [RDF::Writer] writer
|
212
212
|
# @yieldreturn [void]
|
@@ -260,7 +260,7 @@ module RDF
|
|
260
260
|
#
|
261
261
|
# @example
|
262
262
|
# writer.prefixes = {
|
263
|
-
# :
|
263
|
+
# dc: RDF::URI('http://purl.org/dc/terms/'),
|
264
264
|
# }
|
265
265
|
#
|
266
266
|
# @param [Hash{Symbol => RDF::URI}] prefixes
|
@@ -361,9 +361,9 @@ module RDF
|
|
361
361
|
##
|
362
362
|
# @param [RDF::Graph] graph
|
363
363
|
# @return [void] `self`
|
364
|
-
# @deprecated
|
364
|
+
# @deprecated Use {RDF::Writable#insert_graph} instead .
|
365
365
|
def write_graph(graph)
|
366
|
-
warn "[DEPRECATION] `Writer#graph_write is deprecated. Please use RDF::Writable#insert instead."
|
366
|
+
warn "[DEPRECATION] `Writer#graph_write is deprecated. Please use RDF::Writable#insert instead. Called from #{Gem.location_of_caller.join(':')}"
|
367
367
|
graph.each_triple { |*triple| write_triple(*triple) }
|
368
368
|
self
|
369
369
|
end
|
@@ -371,9 +371,9 @@ module RDF
|
|
371
371
|
##
|
372
372
|
# @param [Array<RDF::Statement>] statements
|
373
373
|
# @return [void] `self`
|
374
|
-
# @deprecated
|
374
|
+
# @deprecated Use {RDF::Writable#insert} instead.
|
375
375
|
def write_statements(*statements)
|
376
|
-
warn "[DEPRECATION] `Writer#write_statements is deprecated. Please use RDF::Writable#insert instead."
|
376
|
+
warn "[DEPRECATION] `Writer#write_statements is deprecated. Please use RDF::Writable#insert instead. Called from #{Gem.location_of_caller.join(':')}"
|
377
377
|
statements.each { |statement| write_statement(statement) }
|
378
378
|
self
|
379
379
|
end
|
@@ -384,6 +384,7 @@ module RDF
|
|
384
384
|
# @raise [RDF::WriterError] if validating and attempting to write an invalid {RDF::Statement} or if canonicalizing a statement which cannot be canonicalized.
|
385
385
|
def write_statement(statement)
|
386
386
|
statement = statement.canonicalize! if canonicalize?
|
387
|
+
raise RDF::WriterError, "Statement #{statement.inspect} is incomplete" if statement.incomplete?
|
387
388
|
raise RDF::WriterError, "Statement #{statement.inspect} is invalid" if validate? && statement.invalid?
|
388
389
|
write_triple(*statement.to_triple)
|
389
390
|
self
|
@@ -427,7 +428,16 @@ module RDF
|
|
427
428
|
else nil
|
428
429
|
end
|
429
430
|
end
|
430
|
-
|
431
|
+
|
432
|
+
##
|
433
|
+
# @param [RDF::Term] term
|
434
|
+
# @return [String]
|
435
|
+
# @since 0.3.0
|
436
|
+
# @deprecated Use {#format_term} instead
|
437
|
+
def format_value(term, options = {})
|
438
|
+
warn "[DEPRECATION] Writer#format_value is being replaced with Writer#format_term in RDF.rb 2.0. Called from #{Gem.location_of_caller.join(':')}"
|
439
|
+
format_term(term, options)
|
440
|
+
end
|
431
441
|
|
432
442
|
##
|
433
443
|
# @param [RDF::Node] value
|
data/lib/rdf.rb
CHANGED
@@ -55,7 +55,20 @@ module RDF
|
|
55
55
|
autoload :Vocabulary, 'rdf/vocabulary'
|
56
56
|
autoload :StrictVocabulary, 'rdf/vocabulary'
|
57
57
|
VOCABS = Dir.glob(File.join(File.dirname(__FILE__), 'rdf', 'vocab', '*.rb')).map { |f| File.basename(f)[0...-(File.extname(f).size)].to_sym } rescue []
|
58
|
-
|
58
|
+
|
59
|
+
# Use const_missing instead of autoload to load most vocabularies so we can provide deprecation messages
|
60
|
+
def self.const_missing(constant)
|
61
|
+
if VOCABS.include?(constant.to_s.downcase.to_sym)
|
62
|
+
warn %([DEPRECATION] the #{constant} vocabulary will be moved to the rdf-vocab gem
|
63
|
+
for the RDF.rb 2.0 release. Use as RDF::Vocab::#{constant}, or include RDF::Vocab in the RDF module.
|
64
|
+
Called from #{Gem.location_of_caller.join(':')}
|
65
|
+
).gsub(/^\s+/, '') unless [:OWL, :RDFS, :RDFV, :XSD].include?(constant)
|
66
|
+
require "rdf/vocab/#{constant.to_s.downcase}"
|
67
|
+
const_get(constant)
|
68
|
+
else
|
69
|
+
super
|
70
|
+
end
|
71
|
+
end
|
59
72
|
|
60
73
|
# Utilities
|
61
74
|
autoload :Util, 'rdf/util'
|
@@ -152,7 +165,9 @@ module RDF
|
|
152
165
|
# @option options [RDF::URI] :predicate (nil)
|
153
166
|
# @option options [RDF::Term] :object (nil)
|
154
167
|
# @option options [RDF::Resource] :context (nil)
|
155
|
-
#
|
168
|
+
# Alias for :graph_name, :context is deprecated in RDF.rb.
|
169
|
+
# @option options [RDF::Resource] :graph_name (nil)
|
170
|
+
# Note, a graph_name MUST be an IRI or BNode.
|
156
171
|
# @return [RDF::Statement]
|
157
172
|
#
|
158
173
|
# @overload Statement(subject, predicate, object, options = {})
|
@@ -160,7 +175,7 @@ module RDF
|
|
160
175
|
# @param [RDF::URI] predicate
|
161
176
|
# @param [RDF::Term] object
|
162
177
|
# @param [Hash{Symbol => Object}] options
|
163
|
-
# @option options [RDF::Resource] :
|
178
|
+
# @option options [RDF::Resource] :graph_name (nil)
|
164
179
|
# @return [RDF::Statement]
|
165
180
|
#
|
166
181
|
def self.Statement(*args)
|
@@ -203,7 +218,7 @@ module RDF
|
|
203
218
|
end
|
204
219
|
|
205
220
|
##
|
206
|
-
# Delegate other methods to RDF::
|
221
|
+
# Delegate other methods to RDF::RDFV
|
207
222
|
def self.method_missing(property, *args, &block)
|
208
223
|
if args.empty?
|
209
224
|
# Special-case rdf:_n for all integers
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rdf
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.99.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Arto Bendiken
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2015-10-
|
13
|
+
date: 2015-10-22 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: link_header
|
@@ -94,6 +94,20 @@ dependencies:
|
|
94
94
|
- - "~>"
|
95
95
|
- !ruby/object:Gem::Version
|
96
96
|
version: '1.1'
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: rdf-vocab
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - "~>"
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: '0.8'
|
104
|
+
type: :development
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - "~>"
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: '0.8'
|
97
111
|
- !ruby/object:Gem::Dependency
|
98
112
|
name: rdf-xsd
|
99
113
|
requirement: !ruby/object:Gem::Requirement
|
@@ -128,14 +142,14 @@ dependencies:
|
|
128
142
|
requirements:
|
129
143
|
- - "~>"
|
130
144
|
- !ruby/object:Gem::Version
|
131
|
-
version: 3.
|
145
|
+
version: '3.0'
|
132
146
|
type: :development
|
133
147
|
prerelease: false
|
134
148
|
version_requirements: !ruby/object:Gem::Requirement
|
135
149
|
requirements:
|
136
150
|
- - "~>"
|
137
151
|
- !ruby/object:Gem::Version
|
138
|
-
version: 3.
|
152
|
+
version: '3.0'
|
139
153
|
- !ruby/object:Gem::Dependency
|
140
154
|
name: rspec-its
|
141
155
|
requirement: !ruby/object:Gem::Requirement
|
@@ -333,7 +347,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
333
347
|
version: '0'
|
334
348
|
requirements: []
|
335
349
|
rubyforge_project: rdf
|
336
|
-
rubygems_version: 2.4.
|
350
|
+
rubygems_version: 2.4.5.1
|
337
351
|
signing_key:
|
338
352
|
specification_version: 4
|
339
353
|
summary: A Ruby library for working with Resource Description Framework (RDF) data.
|