rdf 0.3.4.1 → 0.3.5

Sign up to get free protection for your applications and to get access to all the features.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.3.4.1
1
+ 0.3.5
@@ -1,22 +1,3 @@
1
- <http://ar.to/#self> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://xmlns.com/foaf/0.1/Person> .
2
- <http://ar.to/#self> <http://www.w3.org/2000/01/rdf-schema#isDefinedBy> <http://datagraph.org/bendiken/foaf> .
3
- <http://ar.to/#self> <http://xmlns.com/foaf/0.1/homepage> <http://ar.to/> .
4
- <http://ar.to/#self> <http://xmlns.com/foaf/0.1/made> <http://rubygems.org/gems/rdf> .
5
- <http://ar.to/#self> <http://xmlns.com/foaf/0.1/mbox> <mailto:arto.bendiken@gmail.com> .
6
- <http://ar.to/#self> <http://xmlns.com/foaf/0.1/mbox_sha1sum> "a033f652c84a4d73b8c26d318c2395699dd2bdfb" .
7
- <http://ar.to/#self> <http://xmlns.com/foaf/0.1/mbox_sha1sum> "d0737cceb55eb7d740578d2db1bc0727e3ed49ce" .
8
- <http://ar.to/#self> <http://xmlns.com/foaf/0.1/name> "Arto Bendiken" .
9
- <http://bhuga.net/#ben> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://xmlns.com/foaf/0.1/Person> .
10
- <http://bhuga.net/#ben> <http://www.w3.org/2000/01/rdf-schema#isDefinedBy> <http://datagraph.org/bhuga/foaf> .
11
- <http://bhuga.net/#ben> <http://xmlns.com/foaf/0.1/homepage> <http://bhuga.net/> .
12
- <http://bhuga.net/#ben> <http://xmlns.com/foaf/0.1/mbox> <mailto:blavender@gmail.com> .
13
- <http://bhuga.net/#ben> <http://xmlns.com/foaf/0.1/mbox_sha1sum> "dbf45f4ffbd27b67aa84f02a6a31c144727d10af" .
14
- <http://bhuga.net/#ben> <http://xmlns.com/foaf/0.1/name> "Ben Lavender" .
15
- <http://greggkellogg.net/foaf.rdf#me> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://xmlns.com/foaf/0.1/Person> .
16
- <http://greggkellogg.net/foaf.rdf#me> <http://xmlns.com/foaf/0.1/name> "Gregg Kellogg" .
17
- <http://greggkellogg.net/foaf.rdf#me> <http://xmlns.com/foaf/0.1/mbox> <mailto:gregg@kellogg-assoc.com> .
18
- <http://greggkellogg.net/foaf.rdf#me> <http://xmlns.com/foaf/0.1/mbox_sha1sum> "35bc44e6d0070e5ad50ccbe0d24403c96af2b9bd" .
19
- <http://greggkellogg.net/foaf.rdf#me> <http://xmlns.com/foaf/0.1/homepage> <http://greggkellogg.net/> .
20
1
  <http://rubygems.org/gems/rdf> <http://purl.org/dc/terms/creator> <http://ar.to/#self> .
21
2
  <http://rubygems.org/gems/rdf> <http://usefulinc.com/ns/doap#blog> <http://ar.to/> .
22
3
  <http://rubygems.org/gems/rdf> <http://usefulinc.com/ns/doap#blog> <http://blog.datagraph.org/> .
@@ -27,10 +8,10 @@
27
8
  <http://rubygems.org/gems/rdf> <http://usefulinc.com/ns/doap#description> "RDF.rb is a pure-Ruby library for working with Resource Description Framework (RDF) data."@en .
28
9
  <http://rubygems.org/gems/rdf> <http://usefulinc.com/ns/doap#developer> <http://ar.to/#self> .
29
10
  <http://rubygems.org/gems/rdf> <http://usefulinc.com/ns/doap#developer> <http://bhuga.net/#ben> .
30
- <http://rubygems.org/gems/rdf> <http://usefulinc.com/ns/doap#developer> <http://greggkellogg.net/foaf.rdf#me> .
11
+ <http://rubygems.org/gems/rdf> <http://usefulinc.com/ns/doap#developer> <http://greggkellogg.net/foaf#me> .
31
12
  <http://rubygems.org/gems/rdf> <http://usefulinc.com/ns/doap#documenter> <http://ar.to/#self> .
32
13
  <http://rubygems.org/gems/rdf> <http://usefulinc.com/ns/doap#documenter> <http://bhuga.net/#ben> .
33
- <http://rubygems.org/gems/rdf> <http://usefulinc.com/ns/doap#documenter> <http://greggkellogg.net/foaf.rdf#me> .
14
+ <http://rubygems.org/gems/rdf> <http://usefulinc.com/ns/doap#documenter> <http://greggkellogg.net/foaf#me> .
34
15
  <http://rubygems.org/gems/rdf> <http://usefulinc.com/ns/doap#download-page> <http://rubyforge.org/projects/rdf/> .
35
16
  <http://rubygems.org/gems/rdf> <http://usefulinc.com/ns/doap#helper> _:genid1 .
36
17
  <http://rubygems.org/gems/rdf> <http://usefulinc.com/ns/doap#helper> _:genid2 .
@@ -45,7 +26,7 @@
45
26
  <http://rubygems.org/gems/rdf> <http://usefulinc.com/ns/doap#license> <http://creativecommons.org/licenses/publicdomain/> .
46
27
  <http://rubygems.org/gems/rdf> <http://usefulinc.com/ns/doap#maintainer> <http://ar.to/#self> .
47
28
  <http://rubygems.org/gems/rdf> <http://usefulinc.com/ns/doap#maintainer> <http://bhuga.net/#ben> .
48
- <http://rubygems.org/gems/rdf> <http://usefulinc.com/ns/doap#maintainer> <http://greggkellogg.net/foaf.rdf#me> .
29
+ <http://rubygems.org/gems/rdf> <http://usefulinc.com/ns/doap#maintainer> <http://greggkellogg.net/foaf#me> .
49
30
  <http://rubygems.org/gems/rdf> <http://usefulinc.com/ns/doap#name> "RDF.rb" .
50
31
  <http://rubygems.org/gems/rdf> <http://usefulinc.com/ns/doap#platform> "Ruby" .
51
32
  <http://rubygems.org/gems/rdf> <http://usefulinc.com/ns/doap#shortdesc> "A Ruby library for working with Resource Description Framework (RDF) data."@en .
@@ -78,6 +78,10 @@ module RDF
78
78
  # @option options [Symbol, #to_sym] :file_extension (nil)
79
79
  # @option options [String, #to_s] :content_type (nil)
80
80
  # Note that content_type will be taken from a URL opened using {RDF::Util::File.open_file}.
81
+ # @option options [Boolean] :has_reader (false)
82
+ # Only return a format having a reader.
83
+ # @option options [Boolean] :has_writer (false)
84
+ # Only return a format having a writer.
81
85
  # @option options [String] :sample (nil)
82
86
  # A sample of input used for performing format detection.
83
87
  # If we find no formats, or we find more than one, and we have a sample, we can
@@ -100,7 +104,7 @@ module RDF
100
104
  # @see http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.17
101
105
  # @see http://www.w3.org/Protocols/rfc2616/rfc2616-sec3.html#sec3.7
102
106
  mime_type = mime_type.to_s
103
- mime_type = mime_type.split(';').first if mime_type.include?(?;) # remove any media type parameters
107
+ mime_type = mime_type.split(';').first # remove any media type parameters
104
108
  content_types[mime_type]
105
109
  # Find a format based on the file name:
106
110
  when file_name = options[:file_name]
@@ -117,17 +121,14 @@ module RDF
117
121
  RDF::NTriples::Format
118
122
  # For anything else, find a match based on the full class name
119
123
  else
120
- @@subclasses.each do |klass|
121
- if klass.to_sym == format ||
122
- klass.name.to_s.split('::').map(&:downcase).include?(format.to_s.downcase)
123
- return klass
124
- end
125
- end
126
- nil # not found
124
+ @@subclasses.detect { |klass| klass.to_sym == format }
127
125
  end
128
126
  end
129
-
127
+
130
128
  if format.is_a?(Array)
129
+ format = format.select {|f| f.reader} if options[:has_reader]
130
+ format = format.select {|f| f.writer} if options[:has_writer]
131
+
131
132
  return format.first if format.uniq.length == 1
132
133
  elsif !format.nil?
133
134
  return format
@@ -140,7 +141,12 @@ module RDF
140
141
  format ||= @@subclasses
141
142
 
142
143
  # Return first format that has a positive detection
143
- format.detect {|f| f.detect(sample)}
144
+ format.detect {|f| f.detect(sample)} || format.first
145
+ elsif format.is_a?(Array)
146
+ # Otherwise, just return the first matching format
147
+ format.first
148
+ else
149
+ nil
144
150
  end
145
151
  end
146
152
 
@@ -61,6 +61,20 @@ module RDF
61
61
  include ::Enumerable
62
62
  include RDF::Countable # NOTE: must come after ::Enumerable
63
63
 
64
+ ##
65
+ # Returns `true` if this repository supports the given `feature`.
66
+ #
67
+ # Supported features include:
68
+ # * `:context` supports statements with a context, allowing multiple contexts
69
+ # * `:inferrence` supports RDFS inferrence of queryable contents.
70
+ #
71
+ # @param [Symbol, #to_sym] feature
72
+ # @return [Boolean]
73
+ # @since 0.3.5
74
+ def supports?(feature)
75
+ false
76
+ end
77
+
64
78
  ##
65
79
  # Returns all RDF statements.
66
80
  #
@@ -136,7 +150,7 @@ module RDF
136
150
  # @param [Array(RDF::Resource, RDF::URI, RDF::Term)] triple
137
151
  # @return [Boolean]
138
152
  def has_triple?(triple)
139
- enum_triple.include?(triple)
153
+ triples.include?(triple)
140
154
  end
141
155
 
142
156
  ##
@@ -196,7 +210,7 @@ module RDF
196
210
  # @param [Array(RDF::Resource, RDF::URI, RDF::Term, RDF::Resource)] quad
197
211
  # @return [Boolean]
198
212
  def has_quad?(quad)
199
- enum_quad.include?(quad)
213
+ quads.include?(quad)
200
214
  end
201
215
 
202
216
  ##
@@ -607,14 +621,17 @@ module RDF
607
621
  # ntriples = enumerable.dump(:ntriples)
608
622
  #
609
623
  # @param [Array<Object>] args
610
- # if the last argument is a hash, it is passed as keyword options to
624
+ # if the last argument is a hash, it is passed as options to
611
625
  # {RDF::Writer.dump}.
612
626
  # @return [String]
613
627
  # @see RDF::Writer.dump
628
+ # @raise [RDF::WriterError] if no writer found
614
629
  # @since 0.2.0
615
630
  def dump(*args)
616
631
  options = args.last.is_a?(Hash) ? args.pop : {}
617
- RDF::Writer.for(*args).dump(self, nil, options)
632
+ writer = RDF::Writer.for(*args)
633
+ raise RDF::WriterError, "No writer found using #{args.inspect}" unless writer
634
+ writer.dump(self, nil, options)
618
635
  end
619
636
  end # Enumerable
620
637
  end # RDF
@@ -2,8 +2,9 @@ module RDF
2
2
  ##
3
3
  # An RDF query mixin.
4
4
  #
5
- # Classes that include this module must implement an `#each` method that
6
- # yields {RDF::Statement RDF statements}.
5
+ # Classes that include this module should implement a `#query_pattern` method that
6
+ # yields {RDF::Statement RDF statements}. Classes may also implement an optimized
7
+ # `#query_execute` method that yields {RDF::Statement RDF statements}.
7
8
  #
8
9
  # @see RDF::Graph
9
10
  # @see RDF::Repository
@@ -2,7 +2,7 @@ module RDF
2
2
  ##
3
3
  # An RDF type check mixin.
4
4
  #
5
- # This module implements #raise_error, which will raise RDF::TypeError.
5
+ # This module implements #raise_error, which will raise TypeError.
6
6
  #
7
7
  # @see RDF::Value
8
8
  # @see RDF::Literal
@@ -1,5 +1,10 @@
1
1
  module RDF
2
2
  ##
3
+ # Classes that include this module must implement the methods
4
+ # `#insert_statement`.
5
+ #
6
+ # @see RDF::Graph
7
+ # @see RDF::Repository
3
8
  module Writable
4
9
  extend RDF::Util::Aliasing::LateBound
5
10
 
@@ -23,6 +23,7 @@ module RDF
23
23
  include RDF::Resource
24
24
 
25
25
  include RDF::Countable
26
+ include RDF::Durable
26
27
  include RDF::Enumerable
27
28
  include RDF::Queryable
28
29
  include RDF::Mutable
@@ -122,6 +123,15 @@ module RDF
122
123
  context.nil?
123
124
  end
124
125
 
126
+ ##
127
+ # Returns `false` to indicate that this graph is not durable
128
+ #
129
+ # @return [Boolean]
130
+ # @see RDF::Durable#durable?
131
+ def durable?
132
+ false
133
+ end
134
+
125
135
  ##
126
136
  # Returns all unique RDF contexts for this graph.
127
137
  #
@@ -29,7 +29,7 @@ module RDF; class Literal
29
29
  # @return [RDF::Literal] `self`
30
30
  # @see http://www.w3.org/TR/xmlschema-2/#date
31
31
  def canonicalize!
32
- @string = @object.strftime(FORMAT).sub(/\+00:00|UTC/, 'Z')
32
+ @string = @object.strftime(FORMAT).sub(/\+00:00|UTC/, 'Z') if self.valid?
33
33
  self
34
34
  end
35
35
 
@@ -42,7 +42,7 @@ module RDF; class Literal
42
42
  # @return [Boolean]
43
43
  # @since 0.2.1
44
44
  def valid?
45
- super && value !~ %r(\A0000)
45
+ super && object && value !~ %r(\A0000)
46
46
  end
47
47
 
48
48
  ##
@@ -28,7 +28,7 @@ module RDF; class Literal
28
28
  # @return [RDF::Literal] `self`
29
29
  # @see http://www.w3.org/TR/xmlschema-2/#dateTime
30
30
  def canonicalize!
31
- @string = @object.new_offset(0).strftime('%Y-%m-%dT%H:%M:%S%Z').sub(/\+00:00|UTC/, 'Z')
31
+ @string = @object.new_offset(0).strftime('%Y-%m-%dT%H:%M:%S%Z').sub(/\+00:00|UTC/, 'Z') if self.valid?
32
32
  self
33
33
  end
34
34
 
@@ -41,7 +41,7 @@ module RDF; class Literal
41
41
  # @return [Boolean]
42
42
  # @since 0.2.1
43
43
  def valid?
44
- super && value !~ %r(\A0000)
44
+ super && object && value !~ %r(\A0000)
45
45
  end
46
46
 
47
47
  ##
@@ -41,10 +41,22 @@ module RDF; class Literal
41
41
  # @return [RDF::Literal] `self`
42
42
  # @see http://www.w3.org/TR/xmlschema-2/#time
43
43
  def canonicalize!
44
- @string = @object.utc.strftime('%H:%M:%S%Z').sub(/\+00:00|UTC/, 'Z')
44
+ @string = @object.utc.strftime('%H:%M:%S%Z').sub(/\+00:00|UTC/, 'Z') if self.valid?
45
45
  self
46
46
  end
47
47
 
48
+ ##
49
+ # Returns `true` if the value adheres to the defined grammar of the
50
+ # datatype.
51
+ #
52
+ # Special case for date and dateTime, for which '0000' is not a valid year
53
+ #
54
+ # @return [Boolean]
55
+ # @since 0.2.1
56
+ def valid?
57
+ super && object
58
+ end
59
+
48
60
  ##
49
61
  # Returns the value as a string.
50
62
  #
@@ -122,7 +122,7 @@ module RDF
122
122
 
123
123
  ##
124
124
  # Default implementation of raise_error, which returns false.
125
- # Classes including RDF::TypeCheck will raise RDF::TypeError
125
+ # Classes including RDF::TypeCheck will raise TypeError
126
126
  # instead.
127
127
  #
128
128
  # @return [false]
@@ -36,14 +36,15 @@ module RDF
36
36
  # @return [Boolean]
37
37
  def self.detect(sample)
38
38
  !!sample.match(%r(
39
- (?:\s*(?:<[^>]*>) | (?:_:\w+)) # Subject
40
- (?:\s*<[^>]*>) # Predicate
39
+ (?:\s*(?:<[^>]*>) | (?:_:\w+)) # Subject
40
+ (?:\s*<[^>]*>) # Predicate
41
41
  \s*
42
- (?:(?:<[^>]*>) | (?:_:\w+) | (?:"[^"]*"(?:^^|@\S+)?)) # Object
43
- (?:\s*<[^>]*>)? # Optional context
42
+ (?:(?:<[^>]*>) | (?:_:\w+) | (?:"[^"\n]*"(?:^^|@\S+)?)) # Object
43
+ (?:\s*<[^>]*>) # Context
44
44
  \s*\.
45
- )mx) && (
46
- !sample.match(%r(@(base|prefix|keywords))) # Not Turtle/N3
45
+ )mx) && !(
46
+ sample.match(%r(@(base|prefix|keywords)|\{)) || # Not Turtle/N3/TriG
47
+ sample.match(%r(<(html|rdf))i) # Not HTML or XML
47
48
  )
48
49
  end
49
50
  end
@@ -38,7 +38,7 @@ module RDF
38
38
  #
39
39
  # @author [Arto Bendiken](http://ar.to/)
40
40
  module NTriples
41
- require 'iconv' # needed on Ruby 1.8.x
41
+ require 'iconv' unless "".respond_to?(:encode )# needed on Ruby 1.8.x
42
42
  require 'rdf/ntriples/format'
43
43
  autoload :Reader, 'rdf/ntriples/reader'
44
44
  autoload :Writer, 'rdf/ntriples/writer'
@@ -16,13 +16,33 @@ module RDF::NTriples
16
16
  #
17
17
  # @see http://www.w3.org/TR/rdf-testcases/#ntriples
18
18
  class Format < RDF::Format
19
- content_type 'text/plain', :extension => :nt
20
- content_type 'text/ntriples+turtle', :extension => :nt
19
+ content_type 'text/plain', :extension => :nt, :alias => 'text/ntriples+turtle'
21
20
  content_encoding 'utf-8'
22
21
 
23
22
  reader { RDF::NTriples::Reader }
24
23
  writer { RDF::NTriples::Writer }
25
24
 
26
- # No format detection, as N-Triples can be parsed by N-Quads
25
+ ##
26
+ # Sample detection to see if it matches N-Triples
27
+ #
28
+ # Use a text sample to detect the format of an input file. Sub-classes implement
29
+ # a matcher sufficient to detect probably format matches, including disambiguating
30
+ # between other similar formats.
31
+ #
32
+ # @param [String] sample Beginning several bytes (about 1K) of input.
33
+ # @return [Boolean]
34
+ def self.detect(sample)
35
+ !!sample.match(%r(
36
+ (?:(?:<[^>]*>) | (?:_:\w+)) # Subject
37
+ \s*
38
+ (?:<[^>]*>) # Predicate
39
+ \s*
40
+ (?:(?:<[^>]*>) | (?:_:\w+) | (?:"[^"\n]*"(?:^^|@\S+)?)) # Object
41
+ \s*\.
42
+ )mx) && !(
43
+ sample.match(%r(@(base|prefix|keywords)|\{)) || # Not Turtle/N3/TriG
44
+ sample.match(%r(<(html|rdf))i) # Not HTML or XML
45
+ ) && !RDF::NQuads::Format.detect(sample)
46
+ end
27
47
  end
28
48
  end
@@ -87,6 +87,7 @@ module RDF
87
87
  #
88
88
  # @return [Class]
89
89
  def self.for(options = {}, &block)
90
+ options = options.merge(:has_reader => true) if options.is_a?(Hash)
90
91
  if format = self.format || Format.for(options, &block)
91
92
  format.reader
92
93
  end
@@ -114,16 +114,6 @@ module RDF
114
114
  end
115
115
  end
116
116
 
117
- ##
118
- # Returns `true` if this repository supports the given `feature`.
119
- #
120
- # @param [Symbol, #to_sym] feature
121
- # @return [Boolean]
122
- # @since 0.1.10
123
- def supports?(feature)
124
- false
125
- end
126
-
127
117
  ##
128
118
  # Returns a developer-friendly representation of this object.
129
119
  #
@@ -231,7 +221,7 @@ module RDF
231
221
 
232
222
  ##
233
223
  # @private
234
- # @see RDF::Repository#supports?
224
+ # @see RDF::Readable#supports?
235
225
  def supports?(feature)
236
226
  case feature.to_sym
237
227
  when :context then true # statement contexts / named graphs
@@ -21,11 +21,13 @@ module RDF; module Util
21
21
  # @private
22
22
  def self.new(*args)
23
23
  # JRuby doesn't support `ObjectSpace#_id2ref` unless the `-X+O`
24
- # startup option is given, so on that platform we'll default to using
24
+ # startup option is given. In addition, ObjectSpaceCache is very slow
25
+ # on Rubinius. On those platforms we'll default to using
25
26
  # the WeakRef-based cache:
26
- klass = case RUBY_PLATFORM
27
- when /java/ then WeakRefCache
28
- else ObjectSpaceCache
27
+ if RUBY_PLATFORM == 'java' || (defined?(RUBY_ENGINE) && RUBY_ENGINE == 'rbx')
28
+ klass = WeakRefCache
29
+ else
30
+ klass = ObjectSpaceCache
29
31
  end
30
32
  cache = klass.allocate
31
33
  cache.send(:initialize, *args)
@@ -23,12 +23,16 @@ module RDF; module Util
23
23
  #
24
24
  # @param [String] filename_or_url to open
25
25
  # @param [Hash{Symbol => Object}] options
26
- # any options to pass through to the underlying UUID library
26
+ # options are ignored in this implementation. Applications are encouraged
27
+ # to override this implementation to provide more control over HTTP
28
+ # headers and redirect following.
29
+ # @option options [Array, String] :headers
30
+ # HTTP Request headers.
27
31
  # @return [IO] File stream
28
32
  # @yield [IO] File stream
29
33
  def self.open_file(filename_or_url, options = {}, &block)
30
34
  filename_or_url = $1 if filename_or_url.to_s.match(/^file:(.*)$/)
31
- f = Kernel.open(filename_or_url.to_s, &block)
35
+ Kernel.open(filename_or_url.to_s, &block)
32
36
  end
33
37
  end # File
34
38
  end; end # RDF::Util
@@ -1,10 +1,7 @@
1
1
  module RDF
2
2
  module VERSION
3
- MAJOR = 0
4
- MINOR = 3
5
- TINY = 4
6
- EXTRA = 1
7
-
3
+ VERSION_FILE = File.expand_path("../../../VERSION", __FILE__)
4
+ MAJOR, MINOR, TINY, EXTRA = File.read(VERSION_FILE).chop.split(".")
8
5
  STRING = [MAJOR, MINOR, TINY, EXTRA].compact.join('.')
9
6
 
10
7
  ##
@@ -77,6 +77,7 @@ module RDF
77
77
  #
78
78
  # @return [Class]
79
79
  def self.for(options = {})
80
+ options = options.merge(:has_writer => true) if options.is_a?(Hash)
80
81
  if format = self.format || Format.for(options)
81
82
  format.writer
82
83
  end
metadata CHANGED
@@ -1,98 +1,70 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: rdf
3
- version: !ruby/object:Gem::Version
4
- hash: 69
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.3.5
5
5
  prerelease:
6
- segments:
7
- - 0
8
- - 3
9
- - 4
10
- - 1
11
- version: 0.3.4.1
12
6
  platform: ruby
13
- authors:
7
+ authors:
14
8
  - Arto Bendiken
15
9
  - Ben Lavender
16
10
  - Gregg Kellogg
17
11
  autorequire:
18
12
  bindir: bin
19
13
  cert_chain: []
20
-
21
- date: 2011-09-28 00:00:00 Z
22
- dependencies:
23
- - !ruby/object:Gem::Dependency
14
+ date: 2012-02-07 00:00:00.000000000Z
15
+ dependencies:
16
+ - !ruby/object:Gem::Dependency
24
17
  name: addressable
25
- prerelease: false
26
- requirement: &id001 !ruby/object:Gem::Requirement
18
+ requirement: &2152772480 !ruby/object:Gem::Requirement
27
19
  none: false
28
- requirements:
29
- - - ">="
30
- - !ruby/object:Gem::Version
31
- hash: 11
32
- segments:
33
- - 2
34
- - 2
35
- - 6
20
+ requirements:
21
+ - - ! '>='
22
+ - !ruby/object:Gem::Version
36
23
  version: 2.2.6
37
24
  type: :runtime
38
- version_requirements: *id001
39
- - !ruby/object:Gem::Dependency
40
- name: yard
41
25
  prerelease: false
42
- requirement: &id002 !ruby/object:Gem::Requirement
26
+ version_requirements: *2152772480
27
+ - !ruby/object:Gem::Dependency
28
+ name: yard
29
+ requirement: &2152772020 !ruby/object:Gem::Requirement
43
30
  none: false
44
- requirements:
45
- - - ">="
46
- - !ruby/object:Gem::Version
47
- hash: 7
48
- segments:
49
- - 0
50
- - 7
51
- - 2
52
- version: 0.7.2
31
+ requirements:
32
+ - - ! '>='
33
+ - !ruby/object:Gem::Version
34
+ version: 0.7.5
53
35
  type: :development
54
- version_requirements: *id002
55
- - !ruby/object:Gem::Dependency
56
- name: rdf-spec
57
36
  prerelease: false
58
- requirement: &id003 !ruby/object:Gem::Requirement
37
+ version_requirements: *2152772020
38
+ - !ruby/object:Gem::Dependency
39
+ name: rdf-spec
40
+ requirement: &2152771560 !ruby/object:Gem::Requirement
59
41
  none: false
60
- requirements:
42
+ requirements:
61
43
  - - ~>
62
- - !ruby/object:Gem::Version
63
- hash: 27
64
- segments:
65
- - 0
66
- - 3
67
- - 4
68
- version: 0.3.4
44
+ - !ruby/object:Gem::Version
45
+ version: 0.3.5
69
46
  type: :development
70
- version_requirements: *id003
71
- - !ruby/object:Gem::Dependency
72
- name: rspec
73
47
  prerelease: false
74
- requirement: &id004 !ruby/object:Gem::Requirement
48
+ version_requirements: *2152771560
49
+ - !ruby/object:Gem::Dependency
50
+ name: rspec
51
+ requirement: &2152771100 !ruby/object:Gem::Requirement
75
52
  none: false
76
- requirements:
77
- - - ">="
78
- - !ruby/object:Gem::Version
79
- hash: 23
80
- segments:
81
- - 2
82
- - 6
83
- - 0
84
- version: 2.6.0
53
+ requirements:
54
+ - - ! '>='
55
+ - !ruby/object:Gem::Version
56
+ version: 2.8.0
85
57
  type: :development
86
- version_requirements: *id004
87
- description: RDF.rb is a pure-Ruby library for working with Resource Description Framework (RDF) data.
58
+ prerelease: false
59
+ version_requirements: *2152771100
60
+ description: RDF.rb is a pure-Ruby library for working with Resource Description Framework
61
+ (RDF) data.
88
62
  email: public-rdf-ruby@w3.org
89
- executables:
63
+ executables:
90
64
  - rdf
91
65
  extensions: []
92
-
93
66
  extra_rdoc_files: []
94
-
95
- files:
67
+ files:
96
68
  - AUTHORS
97
69
  - CREDITS
98
70
  - README
@@ -173,39 +145,29 @@ files:
173
145
  - lib/rdf/writer.rb
174
146
  - lib/rdf.rb
175
147
  homepage: http://rdf.rubyforge.org/
176
- licenses:
148
+ licenses:
177
149
  - Public Domain
178
150
  post_install_message:
179
151
  rdoc_options: []
180
-
181
- require_paths:
152
+ require_paths:
182
153
  - lib
183
- required_ruby_version: !ruby/object:Gem::Requirement
154
+ required_ruby_version: !ruby/object:Gem::Requirement
184
155
  none: false
185
- requirements:
186
- - - ">="
187
- - !ruby/object:Gem::Version
188
- hash: 53
189
- segments:
190
- - 1
191
- - 8
192
- - 1
156
+ requirements:
157
+ - - ! '>='
158
+ - !ruby/object:Gem::Version
193
159
  version: 1.8.1
194
- required_rubygems_version: !ruby/object:Gem::Requirement
160
+ required_rubygems_version: !ruby/object:Gem::Requirement
195
161
  none: false
196
- requirements:
197
- - - ">="
198
- - !ruby/object:Gem::Version
199
- hash: 3
200
- segments:
201
- - 0
202
- version: "0"
162
+ requirements:
163
+ - - ! '>='
164
+ - !ruby/object:Gem::Version
165
+ version: '0'
203
166
  requirements: []
204
-
205
167
  rubyforge_project: rdf
206
168
  rubygems_version: 1.8.10
207
169
  signing_key:
208
170
  specification_version: 3
209
171
  summary: A Ruby library for working with Resource Description Framework (RDF) data.
210
172
  test_files: []
211
-
173
+ has_rdoc: false