rdf-do 0.3.3 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,15 @@
1
+ ---
2
+ !binary "U0hBMQ==":
3
+ metadata.gz: !binary |-
4
+ YTMyMjI3ZmUzOTkxNmVjMDZhNWJhMzFmOTJlZDJlZjM4MjlhYzEzMQ==
5
+ data.tar.gz: !binary |-
6
+ ZjZmODkwOTU5ZjFjOTYyMDEwM2M5MzY5NWZhODRiMmM1YjA1ZWI4Zg==
7
+ !binary "U0hBNTEy":
8
+ metadata.gz: !binary |-
9
+ NTRkMTAzOTVmNDI3OTJjMzhlYTUyOWQ4ZjBlZDcwMDc3MDQ2N2VhYmE4ODY1
10
+ MDFhMGVmYmE0OWZlNGViMzI5YzUwZDE3ZDNhYTI2ZTRjMzU4MWUzNjI4MmEw
11
+ OTVhZmEyMGNlOTIyODYzYmYxZTMyNTAxZDk0YTI4MjdiNTQ2ZGM=
12
+ data.tar.gz: !binary |-
13
+ YzQyY2VmNWRiNWE3OGQzNmRiYTYyNGZlZjNhYmRlYWYwNjRlMmRiOTI5YWUy
14
+ NmQ4NWUxMGRlZThmMzE2YTJjZGE2ZDA0OGY1ZTBmNmM1NzdlNmEyNDNiNDZh
15
+ ZmVmODM3YmM2NTYxYTZmYTJmMzI5YWM1Y2UxNGYxNTA3OWNmMzA=
data/README CHANGED
@@ -3,9 +3,12 @@
3
3
  DataObjects-backed RDF.rb repository, aiming for a simple use case and
4
4
  currently targeting SQLite and Postgres.
5
5
 
6
- * <http://github.com/bhuga/rdf-do>
6
+ * <http://github.com/ruby-rdf/rdf-do>
7
7
  * <http://lists.w3.org/Archives/Public/public-rdf-ruby>
8
8
 
9
+ [![Gem Version](https://badge.fury.io/rb/rdf-do.png)](http://badge.fury.io/rb/rdf-do)
10
+ [![Build Status](https://travis-ci.org/ruby-rdf/rdf-do.png?branch=master)](http://travis-ci.org/ruby-rdf/rdf-do)
11
+
9
12
  This was written for a tutorial, and is thus a pretty naive implementation so far.
10
13
  RDF::DataObjects stores triples in a simple subject, predicate, object, context
11
14
  table. Don't try to back a big website with it yet. Nonetheless, it works,
@@ -30,13 +33,13 @@ The greatly preferred installation method is via RubyGems:
30
33
 
31
34
  $ sudo gem install rdf-do
32
35
 
33
- Manual downloads are available at <http://github.com/bhuga/rdf-do/downloads>
34
-
35
36
  Ruby 1.8.6 is not supported, but the tests pass with the backports gem. Godspeed.
36
37
 
37
38
  ## Connecting:
38
- require 'do_postgres'
39
- require 'do_sqlite3'
39
+ require 'rdf'
40
+ require 'rdf/do'
41
+ require 'do_postgres' # gem install do_postgres
42
+ require 'do_sqlite3' # gem install do_sqlite3
40
43
  repo = RDF::DataObjects::Repository.new "postgres://localhost/database"
41
44
  repo = RDF::DataObjects::Repository.new "sqlite3:test.db"
42
45
 
@@ -87,19 +90,19 @@ Example:
87
90
 
88
91
  ### Developing
89
92
 
90
- The main project page is on Github, at <http://github.com/bhuga/rdf-do>. You
93
+ The main project page is on Github, at <http://github.com/ruby-rdf/rdf-do>. You
91
94
  can get a working copy of the source tree with:
92
95
 
93
- $ git clone git://github.com/bhuga/rdf-do.git
96
+ $ git clone git://github.com/ruby-rdf/rdf-do.git
94
97
 
95
98
  Or with:
96
99
 
97
- $ wget http://github.com/bhuga/rdf-do/tarball/master
100
+ $ wget http://github.com/ruby-rdf/rdf-do/tarball/master
98
101
 
99
102
  ### Support
100
103
 
101
104
  The preferred method to report issues is the issue queue at
102
- <http://github.com/bhuga/rdf-do/issues>. You'll get the the most attention if
105
+ <http://github.com/ruby-rdf/rdf-do/issues>. You'll get the the most attention if
103
106
  you submit a failing test for a bug, or a pending test for a feature.
104
107
 
105
108
  We'd also like to hear from you on the mailing list:
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.3.3
1
+ 1.0.0
@@ -44,6 +44,10 @@ module RDF::DataObjects
44
44
  #
45
45
  # This is meant to be called by RDF::DataObjects::Repository.
46
46
  #
47
+ # Supports symbols and `RDF::Query::Variable` values as a wild-card for a non-nil value.
48
+ #
49
+ # Supports `false` for a specifically nil value representing the default context.
50
+ #
47
51
  # @example
48
52
  # adapter.query(repository, :predicate => predicate)
49
53
  # @return [DataObjects::Result]
@@ -53,12 +57,22 @@ module RDF::DataObjects
53
57
  params = []
54
58
  [:subject, :predicate, :object, :context].each do |resource|
55
59
  unless hash[resource].nil?
56
- conditions << "#{resource.to_s} = ?"
60
+ case hash[resource]
61
+ when Symbol, RDF::Query::Variable
62
+ conditions << "#{resource.to_s} != 'nil'"
63
+ next
64
+ when false
65
+ conditions << "#{resource.to_s} = 'nil'"
66
+ next
67
+ else
68
+ conditions << "#{resource.to_s} = ?"
69
+ end
57
70
  params << repository.serialize(hash[resource])
58
71
  end
59
72
  end
60
73
  where = conditions.empty? ? "" : "WHERE "
61
74
  where << conditions.join(' AND ')
75
+ #puts "query: #{where.inspect}, #{params.inspect}"
62
76
  repository.result('select * from quads ' + where, *params)
63
77
  end
64
78
 
@@ -13,7 +13,7 @@ module RDF::DataObjects
13
13
  ##
14
14
  # Indempotently migrate this database.
15
15
  #
16
- # @param [RDF::DataObjects::Repository]
16
+ # @param [RDF::DataObjects::Repository] do_repository
17
17
  # @return [void]
18
18
  def self.migrate?(do_repository, opts = {})
19
19
  begin do_repository.exec('CREATE TABLE quads (subject varchar(255), predicate varchar(255), object varchar(255), context varchar(255), UNIQUE (subject, predicate, object, context))') rescue nil end
@@ -33,7 +33,7 @@ module RDF::DataObjects
33
33
 
34
34
  # SQL prepared statement for multiple insertion
35
35
  #
36
- # @param [Integer] The number of statements to be inserted
36
+ # @param [Integer] count The number of statements to be inserted
37
37
  # @return [String]
38
38
  def self.multiple_insert_sql(count)
39
39
  sql = 'insert into quads (subject, predicate, object, context) VALUES '
@@ -9,7 +9,7 @@ module RDF::DataObjects
9
9
  ##
10
10
  # Indempotently migrate this database
11
11
  #
12
- # @param [RDF::DataObjects::Repository]
12
+ # @param [RDF::DataObjects::Repository] do_repository
13
13
  # @return [void]
14
14
  def self.migrate?(do_repository, opts = {})
15
15
  do_repository.exec('CREATE TABLE IF NOT EXISTS quads (`subject` varchar(255), `predicate` varchar(255), `object` varchar(255), `context` varchar(255), UNIQUE (`subject`, `predicate`, `object`, `context`))')
data/lib/rdf/do.rb CHANGED
@@ -1,4 +1,5 @@
1
1
  require 'data_objects'
2
+ require 'rdf'
2
3
  require 'rdf/ntriples'
3
4
  require 'enumerator'
4
5
  require 'rdf/do/version'
@@ -31,7 +32,8 @@ module RDF
31
32
  #
32
33
  # @example
33
34
  # RDF::DataObjects::Repository.new # => new Repository based on sqlite3://:memory:
34
- # RDF::DataObjects::Repository.new 'postgres://localhost/database' # => New repository based on postgres adapter
35
+ # RDF::DataObjects::Repository.new 'postgres://localhost/database'
36
+ # => New repository based on postgres adapter
35
37
  # @param [Any] options
36
38
  # @return [RDF::DataObjects::Repository]
37
39
  def initialize(options = {})
@@ -54,6 +56,14 @@ module RDF
54
56
  @adapter.migrate? self
55
57
  end
56
58
 
59
+ # @see RDF::Mutable#insert_statement
60
+ def supports?(feature)
61
+ case feature.to_sym
62
+ when :context then true
63
+ else false
64
+ end
65
+ end
66
+
57
67
  ##
58
68
  # Close and dispose of this connection.
59
69
  #
@@ -85,7 +95,7 @@ module RDF
85
95
  # Insert a single statement into this repository.
86
96
  #
87
97
  # @see RDF::Mutable#insert_statement
88
- # @param [RDF::Statement]
98
+ # @param [RDF::Statement] statement
89
99
  # @return [void]
90
100
  def insert_statement(statement)
91
101
  insert_statements [statement]
@@ -95,7 +105,7 @@ module RDF
95
105
  # Delete a single statement from this repository.
96
106
  #
97
107
  # @see RDF::Mutable#delete_statement
98
- # @param [RDF::Statement]
108
+ # @param [RDF::Statement] statement
99
109
  # @return [void]
100
110
  def delete_statement(statement)
101
111
  delete_statements [statement]
@@ -105,7 +115,7 @@ module RDF
105
115
  # Insert multiple statements into this repository
106
116
  #
107
117
  # @see RDF::Mutable#insert_statements
108
- # @param [Array]
118
+ # @param [Array<RDF::Statement>] statements
109
119
  # @return [void]
110
120
  def insert_statements(statements)
111
121
  if @adapter.respond_to?(:multiple_insert_sql)
@@ -114,14 +124,14 @@ module RDF
114
124
  count = 0
115
125
  statements.__send__(each) do |s|
116
126
  count += 1
117
- args += [serialize(s. subject),serialize(s.predicate), serialize(s.object), serialize(s.context)]
127
+ args += [serialize(s.subject),serialize(s.predicate), serialize(s.object), serialize(s.context)]
118
128
  end
119
129
  query = @adapter.multiple_insert_sql(count)
120
130
  exec(query,*(args.flatten))
121
131
  else
122
132
  query = @adapter.insert_sql
123
133
  statements.each do |s|
124
- exec(query, serialize(s. subject),serialize(s.predicate), serialize(s.object), serialize(s.context))
134
+ exec(query, serialize(s.subject),serialize(s.predicate), serialize(s.object), serialize(s.context))
125
135
  end
126
136
  end
127
137
  end
@@ -130,12 +140,12 @@ module RDF
130
140
  # Remove multiple statements from this repository
131
141
  #
132
142
  # @see RDF::Mutable#delete_statements
133
- # @param [Array]
143
+ # @param [Array<RDF::Statement>] statements
134
144
  # @return [void]
135
145
  def delete_statements(statements)
136
146
  query = @adapter.delete_sql
137
147
  statements.each do |s|
138
- exec(query, serialize(s. subject), serialize(s.predicate), serialize(s.object), serialize(s.context))
148
+ exec(query, serialize(s.subject), serialize(s.predicate), serialize(s.object), serialize(s.context))
139
149
  end
140
150
  end
141
151
 
@@ -145,7 +155,7 @@ module RDF
145
155
  # implementations considering null values as distinct from one another.
146
156
  #
147
157
  # @see RDF::DataObjects::Repository#unserialize
148
- # @param [RDF::Value]
158
+ # @param [RDF::Value] value
149
159
  # @return [String]
150
160
  def serialize(value)
151
161
  value.nil? ? 'nil' : RDF::NTriples::Writer.serialize(value)
@@ -156,10 +166,21 @@ module RDF
156
166
  # Expects nil values to be encoded as 'nil'.
157
167
  #
158
168
  # @see RDF::DataObjects::Repository#serialize
159
- # @param [String]
169
+ # @param [String] value
160
170
  # @return [RDF::Value]
161
171
  def unserialize(value)
162
- value == 'nil' ? nil : RDF::NTriples::Reader.unserialize(value)
172
+ result = value == 'nil' ? nil : RDF::NTriples::Reader.unserialize(value)
173
+ case result
174
+ when RDF::URI
175
+ RDF::URI.intern(result)
176
+ when RDF::Node
177
+ # This should probably be done in RDF::Node.intern
178
+ id = result.id.to_s
179
+ @nodes ||= {}
180
+ @nodes[id] ||= RDF::Node.new(id)
181
+ else
182
+ result
183
+ end
163
184
  end
164
185
 
165
186
  ##
@@ -185,6 +206,7 @@ module RDF
185
206
  # @param [String] sql
186
207
  # @param [*RDF::Value] args
187
208
  def result(sql, *args)
209
+ @nodes = {} # reset cache. FIXME this should probably be in Node.intern
188
210
  @db.create_command(sql).execute_reader(*args)
189
211
  end
190
212
 
@@ -192,7 +214,8 @@ module RDF
192
214
  # Iterate over all RDF::Statements in this repository.
193
215
  #
194
216
  # @see RDF::Enumerable#each
195
- # @param [Proc] &block
217
+ # @yield statement
218
+ # @yieldparam [RDF::Statement] statement
196
219
  # @return [Enumerable::Enumerator, void]
197
220
  def each(&block)
198
221
  return enum_for(:each) unless block_given?
@@ -210,7 +233,8 @@ module RDF
210
233
  # Iterate over all RDF::Resource subjects in this repository.
211
234
  #
212
235
  # @see RDF::Enumerable#each_subject
213
- # @param [Proc] &block
236
+ # @yield subject
237
+ # @yieldparam [RDF::Resource] subject
214
238
  # @return [Enumerable::Enumerator, void]
215
239
  def each_subject(&block)
216
240
  return enum_for(:each_subject) unless block_given?
@@ -224,7 +248,8 @@ module RDF
224
248
  # Iterate over all RDF::Resource predicates in this repository.
225
249
  #
226
250
  # @see RDF::Enumerable#each_predicate
227
- # @param [Proc] &block
251
+ # @yield predicate
252
+ # @yieldparam [RDF::Resource] predicate
228
253
  # @return [Enumerable::Enumerator, void]
229
254
  def each_predicate(&block)
230
255
  return enum_for(:each_predicate) unless block_given?
@@ -238,7 +263,8 @@ module RDF
238
263
  # Iterate over all RDF::Value objects in this repository.
239
264
  #
240
265
  # @see RDF::Enumerable#each_object
241
- # @param [Proc] &block
266
+ # @yield object
267
+ # @yieldparam [RDF::Resource] object
242
268
  # @return [Enumerable::Enumerator, void]
243
269
  def each_object(&block)
244
270
  return enum_for(:each_object) unless block_given?
@@ -252,7 +278,8 @@ module RDF
252
278
  # Iterate over all RDF::Resource contexts in this repository.
253
279
  #
254
280
  # @see RDF::Enumerable#each_context
255
- # @param [Proc] &block
281
+ # @yield context
282
+ # @yieldparam [RDF::Resource] context
256
283
  # @return [Enumerable::Enumerator, void]
257
284
  def each_context(&block)
258
285
  return enum_for(:each_context) unless block_given?
@@ -263,7 +290,21 @@ module RDF
263
290
  end
264
291
  end
265
292
 
266
- ## Implementation of RDF::Queryable#query
293
+ ##
294
+ # The number of statements in this repository
295
+ #
296
+ # @see RDF::Enumerable#count
297
+ # @return [Integer]
298
+ def count
299
+ result = result(@adapter.count_sql)
300
+ result.next!
301
+ result.values.first
302
+ end
303
+
304
+ protected
305
+
306
+ ##
307
+ # Implementation of RDF::Queryable#query_pattern
267
308
  #
268
309
  # This implementation will do well for statements and hashes, and not so
269
310
  # well for RDF::Query objects.
@@ -271,10 +312,11 @@ module RDF
271
312
  # Accepts a query pattern argument as in RDF::Queryable. See
272
313
  # {RDF::Queryable} for more information.
273
314
  #
274
- # @param [RDF::Statement, Hash, Array] pattern
275
- # @return [RDF::Enumerable, void]
276
- # @see RDF::Queryable#query
315
+ # @param [RDF::Query::Pattern] pattern
316
+ # @see RDF::Queryable#query_pattern
317
+ # @see RDF::Query::Pattern
277
318
  def query_pattern(pattern, &block)
319
+ @nodes = {} # reset cache. FIXME this should probably be in Node.intern
278
320
  reader = @adapter.query(self,pattern.to_hash)
279
321
  while reader.next!
280
322
  yield RDF::Statement.new(
@@ -285,17 +327,6 @@ module RDF
285
327
  end
286
328
  end
287
329
 
288
- ##
289
- # The number of statements in this repository
290
- #
291
- # @see RDF::Enumerable#count
292
- # @return [Integer]
293
- def count
294
- result = result(@adapter.count_sql)
295
- result.next!
296
- result.values.first
297
- end
298
-
299
330
  end
300
331
  end
301
332
  end
metadata CHANGED
@@ -1,101 +1,119 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: rdf-do
3
- version: !ruby/object:Gem::Version
4
- prerelease: false
5
- segments:
6
- - 0
7
- - 3
8
- - 3
9
- version: 0.3.3
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.0
10
5
  platform: ruby
11
- authors:
6
+ authors:
12
7
  - Ben Lavender
13
8
  autorequire:
14
9
  bindir: bin
15
10
  cert_chain: []
16
-
17
- date: 2010-11-23 00:00:00 -06:00
18
- default_executable:
19
- dependencies:
20
- - !ruby/object:Gem::Dependency
11
+ date: 2013-06-16 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
21
14
  name: rdf
22
- prerelease: false
23
- requirement: &id001 !ruby/object:Gem::Requirement
24
- requirements:
25
- - - ">="
26
- - !ruby/object:Gem::Version
27
- segments:
28
- - 0
29
- - 2
30
- - 3
31
- version: 0.2.3
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ! '>='
18
+ - !ruby/object:Gem::Version
19
+ version: '1.0'
32
20
  type: :runtime
33
- version_requirements: *id001
34
- - !ruby/object:Gem::Dependency
35
- name: data_objects
36
21
  prerelease: false
37
- requirement: &id002 !ruby/object:Gem::Requirement
38
- requirements:
39
- - - ">="
40
- - !ruby/object:Gem::Version
41
- segments:
42
- - 0
43
- - 10
44
- - 2
45
- version: 0.10.2
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ! '>='
25
+ - !ruby/object:Gem::Version
26
+ version: '1.0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: data_objects
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ! '>='
32
+ - !ruby/object:Gem::Version
33
+ version: 0.10.11
46
34
  type: :runtime
47
- version_requirements: *id002
48
- - !ruby/object:Gem::Dependency
49
- name: rdf-spec
50
35
  prerelease: false
51
- requirement: &id003 !ruby/object:Gem::Requirement
52
- requirements:
53
- - - ">="
54
- - !ruby/object:Gem::Version
55
- segments:
56
- - 0
57
- - 2
58
- - 3
59
- version: 0.2.3
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ! '>='
39
+ - !ruby/object:Gem::Version
40
+ version: 0.10.11
41
+ - !ruby/object:Gem::Dependency
42
+ name: do_sqlite3
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ! '>='
46
+ - !ruby/object:Gem::Version
47
+ version: 0.10.11
60
48
  type: :development
61
- version_requirements: *id003
62
- - !ruby/object:Gem::Dependency
63
- name: rspec
64
49
  prerelease: false
65
- requirement: &id004 !ruby/object:Gem::Requirement
66
- requirements:
67
- - - ">="
68
- - !ruby/object:Gem::Version
69
- segments:
70
- - 1
71
- - 3
72
- - 0
73
- version: 1.3.0
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ! '>='
53
+ - !ruby/object:Gem::Version
54
+ version: 0.10.11
55
+ - !ruby/object:Gem::Dependency
56
+ name: do_postgres
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ! '>='
60
+ - !ruby/object:Gem::Version
61
+ version: 0.10.11
74
62
  type: :development
75
- version_requirements: *id004
76
- - !ruby/object:Gem::Dependency
77
- name: yard
78
63
  prerelease: false
79
- requirement: &id005 !ruby/object:Gem::Requirement
80
- requirements:
81
- - - ">="
82
- - !ruby/object:Gem::Version
83
- segments:
84
- - 0
85
- - 5
86
- - 3
87
- version: 0.5.3
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ! '>='
67
+ - !ruby/object:Gem::Version
68
+ version: 0.10.11
69
+ - !ruby/object:Gem::Dependency
70
+ name: rdf-spec
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ! '>='
74
+ - !ruby/object:Gem::Version
75
+ version: '1.0'
88
76
  type: :development
89
- version_requirements: *id005
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ! '>='
81
+ - !ruby/object:Gem::Version
82
+ version: '1.0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: rspec
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ! '>='
88
+ - !ruby/object:Gem::Version
89
+ version: 2.12.0
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ! '>='
95
+ - !ruby/object:Gem::Version
96
+ version: 2.12.0
97
+ - !ruby/object:Gem::Dependency
98
+ name: yard
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - ! '>='
102
+ - !ruby/object:Gem::Version
103
+ version: 0.8.3
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.3
90
111
  description: RDF.rb plugin providing a DataObjects storage adapter.
91
- email: blavender@gmail.com
112
+ email: public-rdf-ruby@w3.org
92
113
  executables: []
93
-
94
114
  extensions: []
95
-
96
115
  extra_rdoc_files: []
97
-
98
- files:
116
+ files:
99
117
  - AUTHORS
100
118
  - README
101
119
  - UNLICENSE
@@ -105,37 +123,29 @@ files:
105
123
  - lib/rdf/do/adapters/sqlite3.rb
106
124
  - lib/rdf/do/version.rb
107
125
  - lib/rdf/do.rb
108
- has_rdoc: false
109
- homepage: http://rdf.rubyforge.org/
110
- licenses:
126
+ homepage: http://ruby-rdf.github.com/rdf-do
127
+ licenses:
111
128
  - Public Domain
129
+ metadata: {}
112
130
  post_install_message:
113
131
  rdoc_options: []
114
-
115
- require_paths:
132
+ require_paths:
116
133
  - lib
117
- required_ruby_version: !ruby/object:Gem::Requirement
118
- requirements:
119
- - - ">="
120
- - !ruby/object:Gem::Version
121
- segments:
122
- - 1
123
- - 8
124
- - 2
134
+ required_ruby_version: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - ! '>='
137
+ - !ruby/object:Gem::Version
125
138
  version: 1.8.2
126
- required_rubygems_version: !ruby/object:Gem::Requirement
127
- requirements:
128
- - - ">="
129
- - !ruby/object:Gem::Version
130
- segments:
131
- - 0
132
- version: "0"
139
+ required_rubygems_version: !ruby/object:Gem::Requirement
140
+ requirements:
141
+ - - ! '>='
142
+ - !ruby/object:Gem::Version
143
+ version: '0'
133
144
  requirements: []
134
-
135
145
  rubyforge_project: rdf
136
- rubygems_version: 1.3.6
146
+ rubygems_version: 2.0.3
137
147
  signing_key:
138
- specification_version: 3
148
+ specification_version: 4
139
149
  summary: RDF.rb plugin providing a DataObjects storage adapter.
140
150
  test_files: []
141
-
151
+ has_rdoc: false