sparql-client 1.1.1 → 1.1.2
Sign up to get free protection for your applications and to get access to all the features.
- 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.
|