sparql-client 1.1.1 → 1.1.2
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/CREDITS +2 -1
- data/README +2 -2
- data/VERSION +1 -1
- data/lib/sparql/client.rb +57 -2
- data/lib/sparql/client/query.rb +4 -20
- data/lib/sparql/client/repository.rb +121 -18
- data/lib/sparql/client/update.rb +44 -3
- metadata +35 -33
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 42303e20768dba6ca714f7203a71ae45de154d41
|
4
|
+
data.tar.gz: 7c30be238f6ad8752e8f146337c88f88b3d5b8f7
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 49ef463d9894b382fe2ace2b28ee68140cc0877c834598f1466076579451b03e79e7c9b2d922ba35365e5501205023b3ec6ef8887cfd0b3f3c9ec13e7f0dccc4
|
7
|
+
data.tar.gz: 657acc7375b86f3e8d977fb6b5f63f9ce3173115ae9db04f9bd12ed7e958c56b53e4c6b77b90e0a99df038334bea59f4c693a0f2fb21389e1a26d9a564586426
|
data/CREDITS
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
* Christoph Badura <bad@bsd.de>
|
2
|
+
* Thomas Feron <tho.feron@gmail.com>
|
2
3
|
* James Hetherington <jamespjh@googlemail.com>
|
3
4
|
* Gabriel Horner <gabriel.horner@gmail.com>
|
4
5
|
* Nicholas Humfrey <njh@aelius.com>
|
@@ -7,4 +8,4 @@
|
|
7
8
|
* Thamaraiselvan Poomalai <p.thamarai@gmail.com>
|
8
9
|
* Michael Sokol <mikaa123@gmail.com>
|
9
10
|
* Yves Raimond <yves.raimond@bbc.co.uk>
|
10
|
-
*
|
11
|
+
* Danny Tran <dannybtran@gmail.com>
|
data/README
CHANGED
@@ -18,8 +18,8 @@ This is a [Ruby][] implementation of a [SPARQL][] client for [RDF.rb][].
|
|
18
18
|
the preferred default for content-negotiation purposes.
|
19
19
|
* Supports graph results in any RDF serialization format understood by RDF.rb.
|
20
20
|
* Returns results using the [RDF.rb object model][RDF.rb model].
|
21
|
-
* Supports accessing endpoints as read
|
22
|
-
instances.
|
21
|
+
* Supports accessing endpoints as read/write [`RDF::Repository`][RDF::Repository]
|
22
|
+
instances {SPARQL::Client::Repository}.
|
23
23
|
|
24
24
|
##Examples
|
25
25
|
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
1.1.
|
1
|
+
1.1.2
|
data/lib/sparql/client.rb
CHANGED
@@ -149,7 +149,7 @@ module SPARQL
|
|
149
149
|
# @example Inserting data into a named graph
|
150
150
|
# client.insert_data(data, :graph => "http://example.org/")
|
151
151
|
#
|
152
|
-
# @param [RDF::
|
152
|
+
# @param [RDF::Enumerable] data
|
153
153
|
# @param [Hash{Symbol => Object}] options
|
154
154
|
# @option options [RDF::URI, String] :graph
|
155
155
|
# @return [void] `self`
|
@@ -170,7 +170,7 @@ module SPARQL
|
|
170
170
|
# @example Deleting data from a named graph
|
171
171
|
# client.delete_data(data, :graph => "http://example.org/")
|
172
172
|
#
|
173
|
-
# @param [RDF::
|
173
|
+
# @param [RDF::Enumerable] data
|
174
174
|
# @param [Hash{Symbol => Object}] options
|
175
175
|
# @option options [RDF::URI, String] :graph
|
176
176
|
# @return [void] `self`
|
@@ -179,6 +179,22 @@ module SPARQL
|
|
179
179
|
self.update(Update::DeleteData.new(data, options))
|
180
180
|
end
|
181
181
|
|
182
|
+
##
|
183
|
+
# Executes a `DELETE/INSERT` operation.
|
184
|
+
#
|
185
|
+
# This requires that the endpoint support SPARQL 1.1 Update.
|
186
|
+
#
|
187
|
+
# @param [RDF::Enumerable] delete_graph
|
188
|
+
# @param [RDF::Enumerable] insert_graph
|
189
|
+
# @param [RDF::Enumerable] where_graph
|
190
|
+
# @param [Hash{Symbol => Object}] options
|
191
|
+
# @option options [RDF::URI, String] :graph
|
192
|
+
# @return [void] `self`
|
193
|
+
# @see http://www.w3.org/TR/sparql11-update/#deleteInsert
|
194
|
+
def delete_insert(delete_graph, insert_graph = nil, where_graph = nil, options = {})
|
195
|
+
self.update(Update::DeleteInsert.new(delete_graph, insert_graph, where_graph, options))
|
196
|
+
end
|
197
|
+
|
182
198
|
##
|
183
199
|
# Executes a `CLEAR GRAPH` operation.
|
184
200
|
#
|
@@ -528,11 +544,50 @@ module SPARQL
|
|
528
544
|
# SPARQL queries are UTF-8, but support ASCII-style Unicode escapes, so
|
529
545
|
# the N-Triples serializer is fine unless it's a variable:
|
530
546
|
case
|
547
|
+
when value.nil? then RDF::Query::Variable.new.to_s
|
531
548
|
when value.variable? then value.to_s
|
532
549
|
else RDF::NTriples.serialize(value)
|
533
550
|
end
|
534
551
|
end
|
535
552
|
|
553
|
+
##
|
554
|
+
# Serializes a SPARQL predicate
|
555
|
+
#
|
556
|
+
# @param [RDF::Value, Array, String] value
|
557
|
+
# @param [Fixnum] rdepth
|
558
|
+
# @return [String]
|
559
|
+
# @private
|
560
|
+
def self.serialize_predicate(value,rdepth=0)
|
561
|
+
case value
|
562
|
+
when String then value
|
563
|
+
when Array
|
564
|
+
s = value.map{|v|serialize_predicate(v,rdepth+1)}.join
|
565
|
+
rdepth > 0 ? "(#{s})" : s
|
566
|
+
when RDF::Value
|
567
|
+
# abbreviate RDF.type in the predicate position per SPARQL grammar
|
568
|
+
value.equal?(RDF.type) ? 'a' : serialize_value(value)
|
569
|
+
end
|
570
|
+
end
|
571
|
+
|
572
|
+
##
|
573
|
+
# Serializes a SPARQL graph
|
574
|
+
#
|
575
|
+
# @param [RDF::Enumerable] patterns
|
576
|
+
# @return [String]
|
577
|
+
# @private
|
578
|
+
def self.serialize_patterns(patterns)
|
579
|
+
patterns.map do |pattern|
|
580
|
+
serialized_pattern = RDF::Statement.from(pattern).to_triple.each_with_index.map do |v, i|
|
581
|
+
if i == 1
|
582
|
+
SPARQL::Client.serialize_predicate(v)
|
583
|
+
else
|
584
|
+
SPARQL::Client.serialize_value(v)
|
585
|
+
end
|
586
|
+
end
|
587
|
+
serialized_pattern.join(' ') + ' .'
|
588
|
+
end
|
589
|
+
end
|
590
|
+
|
536
591
|
##
|
537
592
|
# Outputs a developer-friendly representation of this object to `stderr`.
|
538
593
|
#
|
data/lib/sparql/client/query.rb
CHANGED
@@ -321,7 +321,7 @@ module SPARQL; class Client
|
|
321
321
|
|
322
322
|
case form
|
323
323
|
when :select, :describe
|
324
|
-
only_count = values.empty?
|
324
|
+
only_count = values.empty? && options[:count]
|
325
325
|
buffer << 'DISTINCT' if options[:distinct] and not only_count
|
326
326
|
buffer << 'REDUCED' if options[:reduced]
|
327
327
|
buffer << ((values.empty? and not options[:count]) ? '*' : values.map { |v| SPARQL::Client.serialize_value(v[1]) }.join(' '))
|
@@ -333,7 +333,7 @@ module SPARQL; class Client
|
|
333
333
|
end
|
334
334
|
when :construct
|
335
335
|
buffer << '{'
|
336
|
-
buffer += serialize_patterns(options[:template])
|
336
|
+
buffer += SPARQL::Client.serialize_patterns(options[:template])
|
337
337
|
buffer << '}'
|
338
338
|
end
|
339
339
|
|
@@ -351,11 +351,11 @@ module SPARQL; class Client
|
|
351
351
|
buffer << "{ #{sq.to_s} } ."
|
352
352
|
end
|
353
353
|
|
354
|
-
buffer += serialize_patterns(patterns)
|
354
|
+
buffer += SPARQL::Client.serialize_patterns(patterns)
|
355
355
|
if options[:optionals]
|
356
356
|
options[:optionals].each do |patterns|
|
357
357
|
buffer << 'OPTIONAL {'
|
358
|
-
buffer += serialize_patterns(patterns)
|
358
|
+
buffer += SPARQL::Client.serialize_patterns(patterns)
|
359
359
|
buffer << '}'
|
360
360
|
end
|
361
361
|
end
|
@@ -386,22 +386,6 @@ module SPARQL; class Client
|
|
386
386
|
buffer.join(' ')
|
387
387
|
end
|
388
388
|
|
389
|
-
##
|
390
|
-
# @private
|
391
|
-
def serialize_patterns(patterns)
|
392
|
-
rdf_type = RDF.type
|
393
|
-
patterns.map do |pattern|
|
394
|
-
serialized_pattern = pattern.to_triple.each_with_index.map do |v, i|
|
395
|
-
if i == 1 && v.equal?(rdf_type)
|
396
|
-
'a' # abbreviate RDF.type in the predicate position per SPARQL grammar
|
397
|
-
else
|
398
|
-
SPARQL::Client.serialize_value(v)
|
399
|
-
end
|
400
|
-
end
|
401
|
-
serialized_pattern.join(' ') + ' .'
|
402
|
-
end
|
403
|
-
end
|
404
|
-
|
405
389
|
##
|
406
390
|
# Outputs a developer-friendly representation of this query to `stderr`.
|
407
391
|
#
|
@@ -15,18 +15,49 @@ module SPARQL; class Client
|
|
15
15
|
@client = SPARQL::Client.new(endpoint, options)
|
16
16
|
end
|
17
17
|
|
18
|
+
##
|
19
|
+
# Queries `self` using the given basic graph pattern (BGP) query,
|
20
|
+
# yielding each matched solution to the given block.
|
21
|
+
#
|
22
|
+
# Overrides Queryable::query_execute to use SPARQL::Client::query
|
23
|
+
#
|
24
|
+
# @param [RDF::Query] query
|
25
|
+
# the query to execute
|
26
|
+
# @param [Hash{Symbol => Object}] options ({})
|
27
|
+
# Any other options passed to `query.execute`
|
28
|
+
# @yield [solution]
|
29
|
+
# @yieldparam [RDF::Query::Solution] solution
|
30
|
+
# @yieldreturn [void] ignored
|
31
|
+
# @return [void] ignored
|
32
|
+
# @see RDF::Queryable#query
|
33
|
+
# @see RDF::Query#execute
|
34
|
+
def query_execute(query, options = {}, &block)
|
35
|
+
q = SPARQL::Client::Query.select(query.variables).where(*query.patterns)
|
36
|
+
client.query(q, options).each do |solution|
|
37
|
+
yield solution
|
38
|
+
end
|
39
|
+
end
|
40
|
+
|
18
41
|
##
|
19
42
|
# Enumerates each RDF statement in this repository.
|
20
43
|
#
|
21
44
|
# @yield [statement]
|
22
45
|
# @yieldparam [RDF::Statement] statement
|
23
|
-
# @return [Enumerator]
|
24
46
|
# @see RDF::Repository#each
|
25
47
|
def each(&block)
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
48
|
+
client.construct([:s, :p, :o]).where([:s, :p, :o]).each_statement(&block)
|
49
|
+
end
|
50
|
+
|
51
|
+
##
|
52
|
+
# @private
|
53
|
+
# @see RDF::Enumerable#supports?
|
54
|
+
def supports?(feature)
|
55
|
+
case feature.to_sym
|
56
|
+
# statement contexts / named graphs
|
57
|
+
when :context then false
|
58
|
+
when :inference then false # forward-chaining inference
|
59
|
+
when :validity then false
|
60
|
+
else false
|
30
61
|
end
|
31
62
|
end
|
32
63
|
|
@@ -68,11 +99,10 @@ module SPARQL; class Client
|
|
68
99
|
# @return [Enumerator]
|
69
100
|
# @see RDF::Repository#each_subject?
|
70
101
|
def each_subject(&block)
|
71
|
-
|
72
|
-
|
73
|
-
else
|
74
|
-
client.select(:s, :distinct => true).where([:s, :p, :o]).each { |solution| block.call(solution[:s]) }
|
102
|
+
if block_given?
|
103
|
+
client.select(:s, :distinct => true).where([:s, :p, :o]).each_solution { |solution| block.call(solution[:s]) }
|
75
104
|
end
|
105
|
+
enum_subject
|
76
106
|
end
|
77
107
|
|
78
108
|
##
|
@@ -83,11 +113,10 @@ module SPARQL; class Client
|
|
83
113
|
# @return [Enumerator]
|
84
114
|
# @see RDF::Repository#each_predicate?
|
85
115
|
def each_predicate(&block)
|
86
|
-
|
87
|
-
|
88
|
-
else
|
89
|
-
client.select(:p, :distinct => true).where([:s, :p, :o]).each { |solution| block.call(solution[:p]) }
|
116
|
+
if block_given?
|
117
|
+
client.select(:p, :distinct => true).where([:s, :p, :o]).each_solution { |solution| block.call(solution[:p]) }
|
90
118
|
end
|
119
|
+
enum_predicate
|
91
120
|
end
|
92
121
|
|
93
122
|
##
|
@@ -98,11 +127,10 @@ module SPARQL; class Client
|
|
98
127
|
# @return [Enumerator]
|
99
128
|
# @see RDF::Repository#each_object?
|
100
129
|
def each_object(&block)
|
101
|
-
|
102
|
-
|
103
|
-
else
|
104
|
-
client.select(:o, :distinct => true).where([:s, :p, :o]).each { |solution| block.call(solution[:o]) }
|
130
|
+
if block_given?
|
131
|
+
client.select(:o, :distinct => true).where([:s, :p, :o]).each_solution { |solution| block.call(solution[:o]) }
|
105
132
|
end
|
133
|
+
enum_object
|
106
134
|
end
|
107
135
|
|
108
136
|
##
|
@@ -161,6 +189,8 @@ module SPARQL; class Client
|
|
161
189
|
# repository.query([nil, RDF::DOAP.developer, nil])
|
162
190
|
# repository.query(:predicate => RDF::DOAP.developer)
|
163
191
|
#
|
192
|
+
# @fixme This should use basic SPARQL query mechanism.
|
193
|
+
#
|
164
194
|
# @param [Pattern] pattern
|
165
195
|
# @see RDF::Queryable#query_pattern
|
166
196
|
# @yield [statement]
|
@@ -187,7 +217,80 @@ module SPARQL; class Client
|
|
187
217
|
# @return [Boolean]
|
188
218
|
# @see RDF::Mutable#mutable?
|
189
219
|
def writable?
|
190
|
-
|
220
|
+
true
|
191
221
|
end
|
222
|
+
|
223
|
+
##
|
224
|
+
# @private
|
225
|
+
# @see RDF::Mutable#clear
|
226
|
+
def clear_statements
|
227
|
+
client.clear(:all)
|
228
|
+
end
|
229
|
+
|
230
|
+
##
|
231
|
+
# Deletes RDF statements from `self`.
|
232
|
+
# If any statement contains a {Query::Variable}, it is
|
233
|
+
# considered to be a pattern, and used to query
|
234
|
+
# self to find matching statements to delete.
|
235
|
+
#
|
236
|
+
# @param [Enumerable<RDF::Statement>] statements
|
237
|
+
# @raise [TypeError] if `self` is immutable
|
238
|
+
# @return [Mutable]
|
239
|
+
def delete(*statements)
|
240
|
+
delete_statements(statements) unless statements.empty?
|
241
|
+
return self
|
242
|
+
end
|
243
|
+
|
244
|
+
protected
|
245
|
+
|
246
|
+
##
|
247
|
+
# Deletes the given RDF statements from the underlying storage.
|
248
|
+
#
|
249
|
+
# Overridden here to use SPARQL/UPDATE
|
250
|
+
#
|
251
|
+
# @param [RDF::Enumerable] statements
|
252
|
+
# @return [void]
|
253
|
+
def delete_statements(statements)
|
254
|
+
|
255
|
+
constant = true
|
256
|
+
statements.each do |value|
|
257
|
+
case
|
258
|
+
when value.respond_to?(:each_statement)
|
259
|
+
# needs to be flattened... urgh
|
260
|
+
nil
|
261
|
+
when (statement = RDF::Statement.from(value)).constant?
|
262
|
+
# constant
|
263
|
+
else
|
264
|
+
constant = false
|
265
|
+
end
|
266
|
+
end
|
267
|
+
|
268
|
+
if constant
|
269
|
+
client.delete_data(statements)
|
270
|
+
else
|
271
|
+
client.delete_insert(statements)
|
272
|
+
end
|
273
|
+
end
|
274
|
+
|
275
|
+
##
|
276
|
+
# Inserts the given RDF statements into the underlying storage or output
|
277
|
+
# stream.
|
278
|
+
#
|
279
|
+
# Overridden here to use SPARQL/UPDATE
|
280
|
+
#
|
281
|
+
# @param [RDF::Enumerable] statements
|
282
|
+
# @return [void]
|
283
|
+
# @since 0.1.6
|
284
|
+
def insert_statements(statements)
|
285
|
+
client.insert_data(statements)
|
286
|
+
end
|
287
|
+
|
288
|
+
##
|
289
|
+
# @private
|
290
|
+
# @see RDF::Mutable#insert
|
291
|
+
def insert_statement(statement)
|
292
|
+
client.insert_data([statement])
|
293
|
+
end
|
294
|
+
|
192
295
|
end
|
193
296
|
end; end
|
data/lib/sparql/client/update.rb
CHANGED
@@ -61,7 +61,7 @@ class SPARQL::Client
|
|
61
61
|
query_text = 'INSERT DATA {'
|
62
62
|
query_text += ' GRAPH ' + SPARQL::Client.serialize_uri(self.options[:graph]) + ' {' if self.options[:graph]
|
63
63
|
query_text += "\n"
|
64
|
-
query_text += RDF::NTriples::Writer.buffer { |writer| writer <<
|
64
|
+
query_text += RDF::NTriples::Writer.buffer { |writer| @data.each { |d| writer << d } }
|
65
65
|
query_text += '}' if self.options[:graph]
|
66
66
|
query_text += "}\n"
|
67
67
|
end
|
@@ -86,7 +86,7 @@ class SPARQL::Client
|
|
86
86
|
query_text = 'DELETE DATA {'
|
87
87
|
query_text += ' GRAPH ' + SPARQL::Client.serialize_uri(self.options[:graph]) + ' {' if self.options[:graph]
|
88
88
|
query_text += "\n"
|
89
|
-
query_text += RDF::NTriples::Writer.buffer { |writer| writer <<
|
89
|
+
query_text += RDF::NTriples::Writer.buffer { |writer| @data.each { |d| writer << d } }
|
90
90
|
query_text += '}' if self.options[:graph]
|
91
91
|
query_text += "}\n"
|
92
92
|
end
|
@@ -95,9 +95,50 @@ class SPARQL::Client
|
|
95
95
|
##
|
96
96
|
# @see http://www.w3.org/TR/sparql11-update/#deleteInsert
|
97
97
|
class DeleteInsert < Operation
|
98
|
+
attr_reader :insert_graph
|
99
|
+
attr_reader :delete_graph
|
100
|
+
attr_reader :where_graph
|
101
|
+
|
102
|
+
def initialize(_delete_graph, _insert_graph = nil, _where_graph = nil, options = {})
|
103
|
+
@delete_graph = _delete_graph
|
104
|
+
@insert_graph = _insert_graph
|
105
|
+
@where_graph = _where_graph
|
106
|
+
super(options)
|
107
|
+
end
|
108
|
+
|
109
|
+
def graph(uri)
|
110
|
+
self.options[:graph] = uri
|
111
|
+
self
|
112
|
+
end
|
113
|
+
|
98
114
|
def to_s
|
99
|
-
|
115
|
+
buffer = []
|
116
|
+
|
117
|
+
if self.options[:graph]
|
118
|
+
buffer << "WITH"
|
119
|
+
buffer << SPARQL::Client.serialize_uri(self.options[:graph])
|
120
|
+
end
|
121
|
+
if delete_graph and !delete_graph.empty?
|
122
|
+
serialized_delete = SPARQL::Client.serialize_patterns delete_graph
|
123
|
+
buffer << "DELETE {\n"
|
124
|
+
buffer += serialized_delete
|
125
|
+
buffer << "}\n"
|
126
|
+
end
|
127
|
+
if insert_graph and !insert_graph.empty?
|
128
|
+
buffer << "INSERT {\n"
|
129
|
+
buffer += SPARQL::Client.serialize_patterns insert_graph
|
130
|
+
buffer << "}\n"
|
131
|
+
end
|
132
|
+
buffer << "WHERE {\n"
|
133
|
+
if where_graph
|
134
|
+
buffer += SPARQL::Client.serialize_patterns where_graph
|
135
|
+
elsif serialized_delete
|
136
|
+
buffer += serialized_delete
|
137
|
+
end
|
138
|
+
buffer << "}\n"
|
139
|
+
buffer.join(' ')
|
100
140
|
end
|
141
|
+
|
101
142
|
end
|
102
143
|
|
103
144
|
##
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sparql-client
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.1.
|
4
|
+
version: 1.1.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Arto Bendiken
|
@@ -10,123 +10,125 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date:
|
13
|
+
date: 2014-06-30 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: rdf
|
17
17
|
requirement: !ruby/object:Gem::Requirement
|
18
18
|
requirements:
|
19
|
-
- -
|
19
|
+
- - "~>"
|
20
20
|
- !ruby/object:Gem::Version
|
21
21
|
version: '1.1'
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
24
|
version_requirements: !ruby/object:Gem::Requirement
|
25
25
|
requirements:
|
26
|
-
- -
|
26
|
+
- - "~>"
|
27
27
|
- !ruby/object:Gem::Version
|
28
28
|
version: '1.1'
|
29
29
|
- !ruby/object:Gem::Dependency
|
30
30
|
name: net-http-persistent
|
31
31
|
requirement: !ruby/object:Gem::Requirement
|
32
32
|
requirements:
|
33
|
-
- -
|
33
|
+
- - "~>"
|
34
34
|
- !ruby/object:Gem::Version
|
35
35
|
version: '1.4'
|
36
36
|
type: :runtime
|
37
37
|
prerelease: false
|
38
38
|
version_requirements: !ruby/object:Gem::Requirement
|
39
39
|
requirements:
|
40
|
-
- -
|
40
|
+
- - "~>"
|
41
41
|
- !ruby/object:Gem::Version
|
42
42
|
version: '1.4'
|
43
43
|
- !ruby/object:Gem::Dependency
|
44
|
-
name:
|
44
|
+
name: sparql
|
45
45
|
requirement: !ruby/object:Gem::Requirement
|
46
46
|
requirements:
|
47
|
-
- -
|
47
|
+
- - "~>"
|
48
48
|
- !ruby/object:Gem::Version
|
49
|
-
version: '1.
|
50
|
-
type: :
|
49
|
+
version: '1.1'
|
50
|
+
type: :development
|
51
51
|
prerelease: false
|
52
52
|
version_requirements: !ruby/object:Gem::Requirement
|
53
53
|
requirements:
|
54
|
-
- -
|
54
|
+
- - "~>"
|
55
55
|
- !ruby/object:Gem::Version
|
56
|
-
version: '1.
|
56
|
+
version: '1.1'
|
57
57
|
- !ruby/object:Gem::Dependency
|
58
|
-
name:
|
58
|
+
name: rdf-spec
|
59
59
|
requirement: !ruby/object:Gem::Requirement
|
60
60
|
requirements:
|
61
|
-
- -
|
61
|
+
- - "~>"
|
62
62
|
- !ruby/object:Gem::Version
|
63
63
|
version: '1.1'
|
64
64
|
type: :development
|
65
65
|
prerelease: false
|
66
66
|
version_requirements: !ruby/object:Gem::Requirement
|
67
67
|
requirements:
|
68
|
-
- -
|
68
|
+
- - "~>"
|
69
69
|
- !ruby/object:Gem::Version
|
70
70
|
version: '1.1'
|
71
71
|
- !ruby/object:Gem::Dependency
|
72
|
-
name:
|
72
|
+
name: rspec
|
73
73
|
requirement: !ruby/object:Gem::Requirement
|
74
74
|
requirements:
|
75
|
-
- -
|
75
|
+
- - "~>"
|
76
76
|
- !ruby/object:Gem::Version
|
77
|
-
version: '
|
77
|
+
version: '3.0'
|
78
78
|
type: :development
|
79
79
|
prerelease: false
|
80
80
|
version_requirements: !ruby/object:Gem::Requirement
|
81
81
|
requirements:
|
82
|
-
- -
|
82
|
+
- - "~>"
|
83
83
|
- !ruby/object:Gem::Version
|
84
|
-
version: '
|
84
|
+
version: '3.0'
|
85
85
|
- !ruby/object:Gem::Dependency
|
86
|
-
name: rspec
|
86
|
+
name: rspec-its
|
87
87
|
requirement: !ruby/object:Gem::Requirement
|
88
88
|
requirements:
|
89
|
-
- -
|
89
|
+
- - "~>"
|
90
90
|
- !ruby/object:Gem::Version
|
91
|
-
version: '
|
91
|
+
version: '1.0'
|
92
92
|
type: :development
|
93
93
|
prerelease: false
|
94
94
|
version_requirements: !ruby/object:Gem::Requirement
|
95
95
|
requirements:
|
96
|
-
- -
|
96
|
+
- - "~>"
|
97
97
|
- !ruby/object:Gem::Version
|
98
|
-
version: '
|
98
|
+
version: '1.0'
|
99
99
|
- !ruby/object:Gem::Dependency
|
100
100
|
name: webmock
|
101
101
|
requirement: !ruby/object:Gem::Requirement
|
102
102
|
requirements:
|
103
|
-
- -
|
103
|
+
- - "~>"
|
104
104
|
- !ruby/object:Gem::Version
|
105
105
|
version: '1.15'
|
106
106
|
type: :development
|
107
107
|
prerelease: false
|
108
108
|
version_requirements: !ruby/object:Gem::Requirement
|
109
109
|
requirements:
|
110
|
-
- -
|
110
|
+
- - "~>"
|
111
111
|
- !ruby/object:Gem::Version
|
112
112
|
version: '1.15'
|
113
113
|
- !ruby/object:Gem::Dependency
|
114
114
|
name: yard
|
115
115
|
requirement: !ruby/object:Gem::Requirement
|
116
116
|
requirements:
|
117
|
-
- -
|
117
|
+
- - "~>"
|
118
118
|
- !ruby/object:Gem::Version
|
119
119
|
version: '0.8'
|
120
120
|
type: :development
|
121
121
|
prerelease: false
|
122
122
|
version_requirements: !ruby/object:Gem::Requirement
|
123
123
|
requirements:
|
124
|
-
- -
|
124
|
+
- - "~>"
|
125
125
|
- !ruby/object:Gem::Version
|
126
126
|
version: '0.8'
|
127
127
|
description: |-
|
128
128
|
Executes SPARQL queries and updates against a remote SPARQL 1.0 or 1.1 endpoint,
|
129
129
|
or against a local repository. Generates SPARQL queries using a simple DSL.
|
130
|
+
Includes SPARQL::Client::Repository, which allows any endpoint supporting
|
131
|
+
SPARQL Update to be used as an RDF.rb repository.
|
130
132
|
email: public-rdf-ruby@w3.org
|
131
133
|
executables: []
|
132
134
|
extensions: []
|
@@ -137,11 +139,11 @@ files:
|
|
137
139
|
- README
|
138
140
|
- UNLICENSE
|
139
141
|
- VERSION
|
142
|
+
- lib/sparql/client.rb
|
140
143
|
- lib/sparql/client/query.rb
|
141
144
|
- lib/sparql/client/repository.rb
|
142
145
|
- lib/sparql/client/update.rb
|
143
146
|
- lib/sparql/client/version.rb
|
144
|
-
- lib/sparql/client.rb
|
145
147
|
homepage: http://ruby-rdf.github.com/sparql-client/
|
146
148
|
licenses:
|
147
149
|
- Public Domain
|
@@ -152,17 +154,17 @@ require_paths:
|
|
152
154
|
- lib
|
153
155
|
required_ruby_version: !ruby/object:Gem::Requirement
|
154
156
|
requirements:
|
155
|
-
- -
|
157
|
+
- - ">="
|
156
158
|
- !ruby/object:Gem::Version
|
157
159
|
version: 1.9.3
|
158
160
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
159
161
|
requirements:
|
160
|
-
- -
|
162
|
+
- - ">="
|
161
163
|
- !ruby/object:Gem::Version
|
162
164
|
version: '0'
|
163
165
|
requirements: []
|
164
166
|
rubyforge_project: sparql-client
|
165
|
-
rubygems_version: 2.
|
167
|
+
rubygems_version: 2.2.2
|
166
168
|
signing_key:
|
167
169
|
specification_version: 4
|
168
170
|
summary: SPARQL client for RDF.rb.
|