rdf-do 0.3.3 → 1.0.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 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
OSZAR »