rdf-sesame 0.1.0 → 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- data/README +45 -13
- data/VERSION +1 -1
- data/lib/rdf/sesame.rb +0 -21
- data/lib/rdf/sesame/connection.rb +6 -4
- data/lib/rdf/sesame/repository.rb +109 -55
- data/lib/rdf/sesame/server.rb +10 -10
- data/lib/rdf/sesame/version.rb +9 -6
- metadata +72 -33
data/README
CHANGED
@@ -1,32 +1,59 @@
|
|
1
|
-
|
2
|
-
|
1
|
+
Sesame 2.0 Adapter for RDF.rb
|
2
|
+
=============================
|
3
3
|
|
4
|
-
This is an [RDF.rb]
|
5
|
-
|
6
|
-
[HTTP API](http://www.openrdf.org/doc/sesame2/system/ch08.html).
|
4
|
+
This is an [RDF.rb][] plugin that adds support for [Sesame 2.0][]-compatible
|
5
|
+
RDF repositories accessed using Sesame's [HTTP API][Sesame API].
|
7
6
|
|
8
7
|
* <http://github.com/bendiken/rdf-sesame>
|
9
8
|
|
10
|
-
### About Sesame
|
11
|
-
|
12
|
-
* <http://www.openrdf.org/>
|
13
|
-
|
14
9
|
Documentation
|
15
10
|
-------------
|
16
11
|
|
17
12
|
* {RDF::Sesame}
|
13
|
+
* {RDF::Sesame::Connection}
|
14
|
+
* {RDF::Sesame::Repository}
|
15
|
+
* {RDF::Sesame::Server}
|
16
|
+
|
17
|
+
This adapter implements the [`RDF::Repository`][RDF::Repository] interface;
|
18
|
+
refer to the relevant RDF.rb API documentation for further usage instructions.
|
19
|
+
|
20
|
+
Limitations
|
21
|
+
-----------
|
22
|
+
|
23
|
+
* This adapter does not contain any SPARQL support. To use a Sesame endpoint
|
24
|
+
with SPARQL, see the [`SPARQL::Client`](http://sparql.rubyforge.org/client/)
|
25
|
+
gem.
|
26
|
+
* This adapter is not yet optimized for RDF.rb 0.2.x's bulk-operation APIs,
|
27
|
+
meaning that statement insertions and deletions are currently performed
|
28
|
+
one by one; this may affect the performance of loading large datasets into
|
29
|
+
Sesame. This will be addressed in an upcoming version.
|
30
|
+
* This adapter is not yet optimized for RDF.rb 0.2.x's enhanced query APIs;
|
31
|
+
this may adversely affect triple pattern query performance. This
|
32
|
+
will be addressed in an upcoming version.
|
33
|
+
|
34
|
+
Caveats
|
35
|
+
-------
|
36
|
+
|
37
|
+
* Sesame rewrites blank node identifiers on inserted statements. For
|
38
|
+
example, if you supply a `_:foobar` identifier, it becomes something like
|
39
|
+
`_:node156oo6equx12769` as soon as you insert it into a Sesame repository.
|
40
|
+
This means that you can't construct and insert a statement containing a
|
41
|
+
blank node term and then expect to successfully be able check for its
|
42
|
+
existence using the `Repository#has_statement?` method. This is also the
|
43
|
+
reason that 7 specs for `RDF::Repository` currently fail with this
|
44
|
+
adapter.
|
18
45
|
|
19
46
|
Dependencies
|
20
47
|
------------
|
21
48
|
|
22
|
-
* [RDF.rb](http://
|
23
|
-
* [JSON](http://
|
49
|
+
* [RDF.rb](http://rubygems.org/gems/rdf) (>= 0.2.2)
|
50
|
+
* [JSON](http://rubygems.org/gems/json_pure) (>= 1.4.3)
|
24
51
|
|
25
52
|
Installation
|
26
53
|
------------
|
27
54
|
|
28
|
-
The recommended installation method is via RubyGems.
|
29
|
-
official release
|
55
|
+
The recommended installation method is via [RubyGems](http://rubygems.org/).
|
56
|
+
To install the latest official release of the `RDF::Sesame` gem, do:
|
30
57
|
|
31
58
|
% [sudo] gem install rdf-sesame
|
32
59
|
|
@@ -52,3 +79,8 @@ License
|
|
52
79
|
|
53
80
|
`RDF::Sesame` is free and unencumbered public domain software. For more
|
54
81
|
information, see <http://unlicense.org/> or the accompanying UNLICENSE file.
|
82
|
+
|
83
|
+
[RDF.rb]: http://rdf.rubyforge.org/
|
84
|
+
[RDF::Repository]: http://rdf.rubyforge.org/RDF/Repository.html
|
85
|
+
[Sesame 2.0]: http://www.openrdf.org/
|
86
|
+
[Sesame API]: http://www.openrdf.org/doc/sesame2/system/ch08.html
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.
|
1
|
+
0.2.0
|
data/lib/rdf/sesame.rb
CHANGED
@@ -4,27 +4,6 @@ module RDF
|
|
4
4
|
##
|
5
5
|
# **`RDF::Sesame`** is a Sesame 2.0 adapter for RDF.rb.
|
6
6
|
#
|
7
|
-
# Dependencies
|
8
|
-
# ------------
|
9
|
-
#
|
10
|
-
# * [RDF.rb](http://gemcutter.org/gems/rdf) (>= 0.0.9)
|
11
|
-
# * [JSON](http://gemcutter.org/gems/json_pure) (>= 1.2.0)
|
12
|
-
#
|
13
|
-
# Installation
|
14
|
-
# ------------
|
15
|
-
#
|
16
|
-
# The recommended installation method is via RubyGems. To install the latest
|
17
|
-
# official release from Gemcutter, do:
|
18
|
-
#
|
19
|
-
# % [sudo] gem install rdf-sesame
|
20
|
-
#
|
21
|
-
# Documentation
|
22
|
-
# -------------
|
23
|
-
#
|
24
|
-
# * {RDF::Sesame::Connection}
|
25
|
-
# * {RDF::Sesame::Repository}
|
26
|
-
# * {RDF::Sesame::Server}
|
27
|
-
#
|
28
7
|
# @example Requiring the `RDF::Sesame` module
|
29
8
|
# require 'rdf/sesame'
|
30
9
|
#
|
@@ -21,17 +21,19 @@ module RDF::Sesame
|
|
21
21
|
# call {#close} explicitly.
|
22
22
|
#
|
23
23
|
# @example Opening a connection to a Sesame server (1)
|
24
|
-
# url = RDF::URI
|
24
|
+
# url = RDF::URI("http://localhost:8080/openrdf-sesame")
|
25
25
|
# conn = RDF::Sesame::Connection.open(url)
|
26
26
|
# ...
|
27
27
|
# conn.close
|
28
28
|
#
|
29
29
|
# @example Opening a connection to a Sesame server (2)
|
30
|
+
# url = RDF::URI("http://localhost:8080/openrdf-sesame")
|
30
31
|
# RDF::Sesame::Connection.open(url) do |conn|
|
31
32
|
# ...
|
32
33
|
# end
|
33
34
|
#
|
34
35
|
# @example Performing an HTTP GET on a Sesame server
|
36
|
+
# url = RDF::URI("http://localhost:8080/openrdf-sesame")
|
35
37
|
# RDF::Sesame::Connection.open(url) do |conn|
|
36
38
|
# conn.get("/openrdf-sesame/protocol") do |response|
|
37
39
|
# version = response.body.to_i
|
@@ -332,7 +334,7 @@ module RDF::Sesame
|
|
332
334
|
# @yieldparam [Net::HTTPResponse] response
|
333
335
|
# @return [Net::HTTPResponse]
|
334
336
|
def put(path, headers = {}, &block)
|
335
|
-
# TODO
|
337
|
+
raise NotImplementedError, "#{self.class}#put" # TODO
|
336
338
|
end
|
337
339
|
|
338
340
|
##
|
@@ -353,5 +355,5 @@ module RDF::Sesame
|
|
353
355
|
end
|
354
356
|
end
|
355
357
|
end
|
356
|
-
end
|
357
|
-
end
|
358
|
+
end # class Connection
|
359
|
+
end # module RDF::Sesame
|
@@ -18,10 +18,11 @@ module RDF::Sesame
|
|
18
18
|
# repository = server.repository(:SYSTEM)
|
19
19
|
#
|
20
20
|
# @see RDF::Sesame
|
21
|
+
# @see http://rdf.rubyforge.org/RDF/Repository.html
|
21
22
|
# @see http://www.openrdf.org/doc/sesame2/system/ch08.html
|
22
23
|
class Repository < RDF::Repository
|
23
24
|
# @return [RDF::URI]
|
24
|
-
attr_reader
|
25
|
+
attr_reader :url
|
25
26
|
alias_method :uri, :url
|
26
27
|
|
27
28
|
# @return [String]
|
@@ -67,8 +68,8 @@ module RDF::Sesame
|
|
67
68
|
@options = {}
|
68
69
|
|
69
70
|
when Hash
|
70
|
-
raise ArgumentError
|
71
|
-
raise ArgumentError
|
71
|
+
raise ArgumentError, "missing options[:server]" unless url_or_options.has_key?(:server)
|
72
|
+
raise ArgumentError, "missing options[:id]" unless url_or_options.has_key?(:id)
|
72
73
|
@options = url_or_options.dup
|
73
74
|
@server = @options.delete(:server)
|
74
75
|
@id = @options.delete(:id)
|
@@ -76,7 +77,7 @@ module RDF::Sesame
|
|
76
77
|
@title = @options.delete(:title)
|
77
78
|
|
78
79
|
else
|
79
|
-
raise ArgumentError
|
80
|
+
raise ArgumentError, "expected String, RDF::URI or Hash, but got #{url_or_options.inspect}"
|
80
81
|
end
|
81
82
|
|
82
83
|
if block_given?
|
@@ -100,12 +101,13 @@ module RDF::Sesame
|
|
100
101
|
when RDF::Statement
|
101
102
|
writer = RDF::NTriples::Writer.new
|
102
103
|
query = {
|
103
|
-
:subj
|
104
|
-
:pred
|
105
|
-
:obj
|
104
|
+
:subj => writer.format_value(query.subject),
|
105
|
+
:pred => writer.format_value(query.predicate),
|
106
|
+
:obj => writer.format_value(query.object),
|
107
|
+
:context => query.has_context? ? writer.format_value(query.context) : 'null',
|
106
108
|
}
|
107
109
|
url.query_values = query
|
108
|
-
when Hash
|
110
|
+
when Hash
|
109
111
|
url.query_values = query unless query.empty?
|
110
112
|
end
|
111
113
|
end
|
@@ -115,80 +117,135 @@ module RDF::Sesame
|
|
115
117
|
alias_method :uri, :url
|
116
118
|
|
117
119
|
##
|
118
|
-
#
|
119
|
-
#
|
120
|
-
|
120
|
+
# @private
|
121
|
+
# @see RDF::Repository#supports?
|
122
|
+
def supports?(feature)
|
123
|
+
case feature.to_sym
|
124
|
+
when :context then true # statement contexts / named graphs
|
125
|
+
else super
|
126
|
+
end
|
127
|
+
end
|
128
|
+
|
129
|
+
##
|
130
|
+
# @private
|
131
|
+
# @see RDF::Durable#durable?
|
121
132
|
def durable?
|
122
|
-
true #
|
133
|
+
true # TODO: would need to query the SYSTEM repository for this information
|
123
134
|
end
|
124
135
|
|
125
136
|
##
|
126
|
-
#
|
127
|
-
#
|
128
|
-
# @return [Boolean]
|
137
|
+
# @private
|
138
|
+
# @see RDF::Countable#empty?
|
129
139
|
def empty?
|
130
140
|
count.zero?
|
131
141
|
end
|
132
142
|
|
133
143
|
##
|
134
|
-
#
|
135
|
-
#
|
136
|
-
# @
|
137
|
-
# @see http://www.openrdf.org/doc/sesame2/system/ch08.html#d0e569
|
144
|
+
# @private
|
145
|
+
# @see RDF::Countable#count
|
146
|
+
# @see http://www.openrdf.org/doc/sesame2/system/ch08.html#d0e569
|
138
147
|
def count
|
139
148
|
server.get(url(:size)) do |response|
|
140
149
|
case response
|
141
150
|
when Net::HTTPSuccess
|
142
151
|
size = response.body
|
143
152
|
size.to_i rescue 0
|
144
|
-
else
|
153
|
+
else -1 # FIXME: raise error
|
145
154
|
end
|
146
155
|
end
|
147
156
|
end
|
148
157
|
|
149
158
|
##
|
150
|
-
#
|
151
|
-
#
|
152
|
-
|
153
|
-
|
154
|
-
|
159
|
+
# @private
|
160
|
+
# @see RDF::Enumerable#has_triple?
|
161
|
+
def has_triple?(triple)
|
162
|
+
has_statement?(RDF::Statement.from(triple))
|
163
|
+
end
|
164
|
+
|
165
|
+
##
|
166
|
+
# @private
|
167
|
+
# @see RDF::Enumerable#has_quad?
|
168
|
+
def has_quad?(quad)
|
169
|
+
has_statement?(RDF::Statement.new(quad[0], quad[1], quad[2], :context => quad[3]))
|
170
|
+
end
|
171
|
+
|
172
|
+
##
|
173
|
+
# @private
|
174
|
+
# @see RDF::Enumerable#has_statement?
|
175
|
+
# @see http://www.openrdf.org/doc/sesame2/system/ch08.html#d0e304
|
155
176
|
def has_statement?(statement)
|
156
177
|
server.get(url(:statements, statement), 'Accept' => 'text/plain') do |response|
|
157
178
|
case response
|
158
179
|
when Net::HTTPSuccess
|
159
|
-
|
160
|
-
reader.include?(statement)
|
180
|
+
!response.body.empty?
|
161
181
|
else false
|
162
182
|
end
|
163
183
|
end
|
164
184
|
end
|
165
185
|
|
166
186
|
##
|
167
|
-
#
|
168
|
-
#
|
169
|
-
# @
|
170
|
-
|
171
|
-
|
172
|
-
|
173
|
-
|
174
|
-
|
187
|
+
# @private
|
188
|
+
# @see RDF::Enumerable#each_statement
|
189
|
+
# @see http://www.openrdf.org/doc/sesame2/system/ch08.html#d0e304
|
190
|
+
def each_statement(&block)
|
191
|
+
return enum_statement unless block_given?
|
192
|
+
|
193
|
+
[nil, *enum_context].uniq.each do |context|
|
194
|
+
ctxt = context ? RDF::NTriples.serialize(context) : 'null'
|
195
|
+
server.get(url(:statements, :context => ctxt), 'Accept' => 'text/plain') do |response|
|
196
|
+
case response
|
197
|
+
when Net::HTTPSuccess
|
198
|
+
reader = RDF::NTriples::Reader.new(response.body)
|
199
|
+
reader.each_statement do |statement|
|
200
|
+
statement.context = context
|
201
|
+
block.call(statement)
|
202
|
+
end
|
203
|
+
end
|
204
|
+
end
|
205
|
+
end
|
206
|
+
end
|
207
|
+
|
208
|
+
alias_method :each, :each_statement
|
209
|
+
|
210
|
+
##
|
211
|
+
# @private
|
212
|
+
# @see RDF::Enumerable#each_context
|
213
|
+
def each_context(&block)
|
214
|
+
return enum_context unless block_given?
|
215
|
+
|
216
|
+
require 'json' unless defined?(::JSON)
|
217
|
+
server.get(url(:contexts), Server::ACCEPT_JSON) do |response|
|
175
218
|
case response
|
176
219
|
when Net::HTTPSuccess
|
177
|
-
|
178
|
-
|
220
|
+
json = ::JSON.parse(response.body)
|
221
|
+
json['results']['bindings'].map { |binding| binding['contextID'] }.each do |context_id|
|
222
|
+
context = case context_id['type'].to_s.to_sym
|
223
|
+
when :bnode then RDF::Node.new(context_id['value'])
|
224
|
+
when :uri then RDF::URI.new(context_id['value'])
|
225
|
+
end
|
226
|
+
block.call(context) if context
|
227
|
+
end
|
179
228
|
end
|
180
229
|
end
|
181
230
|
end
|
182
231
|
|
232
|
+
protected
|
233
|
+
|
183
234
|
##
|
184
|
-
#
|
185
|
-
#
|
186
|
-
|
187
|
-
|
188
|
-
|
235
|
+
# @private
|
236
|
+
# @see RDF::Queryable#query
|
237
|
+
def query_pattern(pattern, &block)
|
238
|
+
super # TODO
|
239
|
+
end
|
240
|
+
|
241
|
+
##
|
242
|
+
# @private
|
243
|
+
# @see RDF::Mutable#insert
|
244
|
+
# @see http://www.openrdf.org/doc/sesame2/system/ch08.html#d0e304
|
189
245
|
def insert_statement(statement)
|
190
|
-
|
191
|
-
|
246
|
+
ctxt = statement.has_context? ? RDF::NTriples.serialize(statement.context) : 'null'
|
247
|
+
data = RDF::NTriples.serialize(statement)
|
248
|
+
server.post(url(:statements, :context => ctxt), data, 'Content-Type' => 'text/plain') do |response|
|
192
249
|
case response
|
193
250
|
when Net::HTTPSuccess then true
|
194
251
|
else false
|
@@ -197,11 +254,9 @@ module RDF::Sesame
|
|
197
254
|
end
|
198
255
|
|
199
256
|
##
|
200
|
-
#
|
201
|
-
#
|
202
|
-
# @
|
203
|
-
# @return [Boolean]
|
204
|
-
# @see http://www.openrdf.org/doc/sesame2/system/ch08.html#d0e304
|
257
|
+
# @private
|
258
|
+
# @see RDF::Mutable#delete
|
259
|
+
# @see http://www.openrdf.org/doc/sesame2/system/ch08.html#d0e304
|
205
260
|
def delete_statement(statement)
|
206
261
|
server.delete(url(:statements, statement)) do |response|
|
207
262
|
case response
|
@@ -212,10 +267,9 @@ module RDF::Sesame
|
|
212
267
|
end
|
213
268
|
|
214
269
|
##
|
215
|
-
#
|
216
|
-
#
|
217
|
-
# @
|
218
|
-
# @see http://www.openrdf.org/doc/sesame2/system/ch08.html#d0e304
|
270
|
+
# @private
|
271
|
+
# @see RDF::Mutable#clear
|
272
|
+
# @see http://www.openrdf.org/doc/sesame2/system/ch08.html#d0e304
|
219
273
|
def clear_statements
|
220
274
|
server.delete(url(:statements)) do |response|
|
221
275
|
case response
|
@@ -224,5 +278,5 @@ module RDF::Sesame
|
|
224
278
|
end
|
225
279
|
end
|
226
280
|
end
|
227
|
-
end
|
228
|
-
end
|
281
|
+
end # class Repository
|
282
|
+
end # module RDF::Sesame
|
data/lib/rdf/sesame/server.rb
CHANGED
@@ -6,7 +6,7 @@ module RDF::Sesame
|
|
6
6
|
# one or more readable and/or writable RDF {Repository repositories}.
|
7
7
|
#
|
8
8
|
# @example Connecting to a Sesame server
|
9
|
-
# url = RDF::URI
|
9
|
+
# url = RDF::URI("http://localhost:8080/openrdf-sesame")
|
10
10
|
# server = RDF::Sesame::Server.new(url)
|
11
11
|
#
|
12
12
|
# @example Retrieving the server's protocol version
|
@@ -145,7 +145,7 @@ module RDF::Sesame
|
|
145
145
|
#
|
146
146
|
# @yield [repository]
|
147
147
|
# @yieldparam [Repository] repository
|
148
|
-
# @return [
|
148
|
+
# @return [Enumerator]
|
149
149
|
# @see #repository
|
150
150
|
# @see #repositories
|
151
151
|
def each_repository(&block)
|
@@ -155,9 +155,9 @@ module RDF::Sesame
|
|
155
155
|
alias_method :each, :each_repository
|
156
156
|
|
157
157
|
##
|
158
|
-
# Returns `true` if
|
158
|
+
# Returns `true` if this server has a repository identified by `id`.
|
159
159
|
#
|
160
|
-
# @param [
|
160
|
+
# @param [String] id
|
161
161
|
# @return [Boolean]
|
162
162
|
def has_repository?(id)
|
163
163
|
repositories.has_key?(id.to_s)
|
@@ -184,20 +184,20 @@ module RDF::Sesame
|
|
184
184
|
# @see #each_repository
|
185
185
|
# @see http://www.openrdf.org/doc/sesame2/system/ch08.html#d0e204
|
186
186
|
def repositories
|
187
|
-
require 'json' unless defined?(JSON)
|
187
|
+
require 'json' unless defined?(::JSON)
|
188
188
|
|
189
189
|
get(url(:repositories), ACCEPT_JSON) do |response|
|
190
190
|
case response
|
191
191
|
when Net::HTTPSuccess
|
192
|
-
json = JSON.parse(response.body)
|
192
|
+
json = ::JSON.parse(response.body)
|
193
193
|
json['results']['bindings'].inject({}) do |repositories, binding|
|
194
194
|
repository = Repository.new({
|
195
195
|
:server => self,
|
196
196
|
:uri => (uri = RDF::URI.new(binding['uri']['value'])),
|
197
197
|
:id => (id = binding['id']['value']),
|
198
198
|
:title => (title = binding['title']['value']),
|
199
|
-
:readable => binding['readable']['value'] == 'true',
|
200
|
-
:writable => binding['writable']['value'] == 'true',
|
199
|
+
:readable => binding['readable']['value'].to_s == 'true',
|
200
|
+
:writable => binding['writable']['value'].to_s == 'true',
|
201
201
|
})
|
202
202
|
repositories.merge({id => repository})
|
203
203
|
end
|
@@ -223,5 +223,5 @@ module RDF::Sesame
|
|
223
223
|
self.connection.delete(path, headers, &block)
|
224
224
|
end
|
225
225
|
end
|
226
|
-
end
|
227
|
-
end
|
226
|
+
end # class Server
|
227
|
+
end # module RDF::Sesame
|
data/lib/rdf/sesame/version.rb
CHANGED
@@ -1,19 +1,22 @@
|
|
1
|
-
module RDF module Sesame
|
1
|
+
module RDF; module Sesame
|
2
2
|
module VERSION
|
3
3
|
MAJOR = 0
|
4
|
-
MINOR =
|
4
|
+
MINOR = 2
|
5
5
|
TINY = 0
|
6
6
|
EXTRA = nil
|
7
7
|
|
8
|
-
STRING = [MAJOR, MINOR, TINY].join('.')
|
9
|
-
STRING << "-#{EXTRA}" if EXTRA
|
8
|
+
STRING = [MAJOR, MINOR, TINY, EXTRA].compact.join('.')
|
10
9
|
|
11
10
|
##
|
12
11
|
# @return [String]
|
13
|
-
def self.to_s()
|
12
|
+
def self.to_s() STRING end
|
14
13
|
|
15
14
|
##
|
16
15
|
# @return [String]
|
17
16
|
def self.to_str() STRING end
|
17
|
+
|
18
|
+
##
|
19
|
+
# @return [Array(Integer, Integer, Integer)]
|
20
|
+
def self.to_a() [MAJOR, MINOR, TINY] end
|
18
21
|
end
|
19
|
-
end end
|
22
|
+
end; end
|
metadata
CHANGED
@@ -1,7 +1,12 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rdf-sesame
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
|
4
|
+
prerelease: false
|
5
|
+
segments:
|
6
|
+
- 0
|
7
|
+
- 2
|
8
|
+
- 0
|
9
|
+
version: 0.2.0
|
5
10
|
platform: ruby
|
6
11
|
authors:
|
7
12
|
- Arto Bendiken
|
@@ -9,51 +14,81 @@ autorequire:
|
|
9
14
|
bindir: bin
|
10
15
|
cert_chain: []
|
11
16
|
|
12
|
-
date: 2010-
|
17
|
+
date: 2010-07-08 00:00:00 +02:00
|
13
18
|
default_executable:
|
14
19
|
dependencies:
|
15
20
|
- !ruby/object:Gem::Dependency
|
16
|
-
name:
|
17
|
-
|
18
|
-
|
19
|
-
version_requirements: !ruby/object:Gem::Requirement
|
21
|
+
name: json_pure
|
22
|
+
prerelease: false
|
23
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
20
24
|
requirements:
|
21
|
-
- -
|
25
|
+
- - ~>
|
26
|
+
- !ruby/object:Gem::Version
|
27
|
+
segments:
|
28
|
+
- 1
|
29
|
+
- 4
|
30
|
+
- 3
|
31
|
+
version: 1.4.3
|
32
|
+
type: :runtime
|
33
|
+
version_requirements: *id001
|
34
|
+
- !ruby/object:Gem::Dependency
|
35
|
+
name: rdf
|
36
|
+
prerelease: false
|
37
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
38
|
+
requirements:
|
39
|
+
- - ~>
|
22
40
|
- !ruby/object:Gem::Version
|
23
|
-
|
24
|
-
|
41
|
+
segments:
|
42
|
+
- 0
|
43
|
+
- 2
|
44
|
+
- 2
|
45
|
+
version: 0.2.2
|
46
|
+
type: :runtime
|
47
|
+
version_requirements: *id002
|
25
48
|
- !ruby/object:Gem::Dependency
|
26
49
|
name: yard
|
27
|
-
|
28
|
-
|
29
|
-
version_requirements: !ruby/object:Gem::Requirement
|
50
|
+
prerelease: false
|
51
|
+
requirement: &id003 !ruby/object:Gem::Requirement
|
30
52
|
requirements:
|
31
53
|
- - ">="
|
32
54
|
- !ruby/object:Gem::Version
|
33
|
-
|
34
|
-
|
55
|
+
segments:
|
56
|
+
- 0
|
57
|
+
- 5
|
58
|
+
- 8
|
59
|
+
version: 0.5.8
|
60
|
+
type: :development
|
61
|
+
version_requirements: *id003
|
35
62
|
- !ruby/object:Gem::Dependency
|
36
|
-
name:
|
37
|
-
|
38
|
-
|
39
|
-
version_requirements: !ruby/object:Gem::Requirement
|
63
|
+
name: rspec
|
64
|
+
prerelease: false
|
65
|
+
requirement: &id004 !ruby/object:Gem::Requirement
|
40
66
|
requirements:
|
41
67
|
- - ">="
|
42
68
|
- !ruby/object:Gem::Version
|
43
|
-
|
44
|
-
|
69
|
+
segments:
|
70
|
+
- 1
|
71
|
+
- 3
|
72
|
+
- 0
|
73
|
+
version: 1.3.0
|
74
|
+
type: :development
|
75
|
+
version_requirements: *id004
|
45
76
|
- !ruby/object:Gem::Dependency
|
46
|
-
name:
|
47
|
-
|
48
|
-
|
49
|
-
version_requirements: !ruby/object:Gem::Requirement
|
77
|
+
name: rdf-spec
|
78
|
+
prerelease: false
|
79
|
+
requirement: &id005 !ruby/object:Gem::Requirement
|
50
80
|
requirements:
|
51
|
-
- -
|
81
|
+
- - ~>
|
52
82
|
- !ruby/object:Gem::Version
|
53
|
-
|
54
|
-
|
83
|
+
segments:
|
84
|
+
- 0
|
85
|
+
- 2
|
86
|
+
- 2
|
87
|
+
version: 0.2.2
|
88
|
+
type: :development
|
89
|
+
version_requirements: *id005
|
55
90
|
description: RDF.rb plugin providing a Sesame 2.0 storage adapter.
|
56
|
-
email:
|
91
|
+
email: public-rdf-ruby@w3.org
|
57
92
|
executables: []
|
58
93
|
|
59
94
|
extensions: []
|
@@ -71,7 +106,7 @@ files:
|
|
71
106
|
- lib/rdf/sesame/version.rb
|
72
107
|
- lib/rdf/sesame.rb
|
73
108
|
has_rdoc: false
|
74
|
-
homepage: http://rdf.rubyforge.org/
|
109
|
+
homepage: http://rdf.rubyforge.org/sesame/
|
75
110
|
licenses:
|
76
111
|
- Public Domain
|
77
112
|
post_install_message:
|
@@ -83,18 +118,22 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
83
118
|
requirements:
|
84
119
|
- - ">="
|
85
120
|
- !ruby/object:Gem::Version
|
86
|
-
|
87
|
-
|
121
|
+
segments:
|
122
|
+
- 1
|
123
|
+
- 8
|
124
|
+
- 1
|
125
|
+
version: 1.8.1
|
88
126
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
89
127
|
requirements:
|
90
128
|
- - ">="
|
91
129
|
- !ruby/object:Gem::Version
|
130
|
+
segments:
|
131
|
+
- 0
|
92
132
|
version: "0"
|
93
|
-
version:
|
94
133
|
requirements: []
|
95
134
|
|
96
135
|
rubyforge_project: rdf
|
97
|
-
rubygems_version: 1.3.
|
136
|
+
rubygems_version: 1.3.6
|
98
137
|
signing_key:
|
99
138
|
specification_version: 3
|
100
139
|
summary: Sesame 2.0 adapter for RDF.rb.
|