sparql-client 1.99.1 → 2.0.0.beta1
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/README.md +184 -0
- data/VERSION +1 -1
- data/lib/sparql/client.rb +9 -18
- data/lib/sparql/client/query.rb +2 -7
- data/lib/sparql/client/repository.rb +30 -10
- data/lib/sparql/client/update.rb +4 -4
- metadata +18 -79
- data/README +0 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: aebbeb18182d085e0a812c2b9e97cc2fdbe76de0
|
4
|
+
data.tar.gz: b30fba5e8ad462f021072eba1e1ab86588d2940e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f8c797001095374c4806669a753ea0112944529db76118ee45ce5052f44a49752be20de43479d8cb694ed7a81059276caedd55b4b1a0bca3564fd92ed504425b
|
7
|
+
data.tar.gz: 430c81083ae70c96f967a9090f75ba86ab72a016544469c50194d756e60f89c710a38e1665b7e7398285c13205113575a4ab630201e87f453ca3b6c62f8458b0
|
data/README.md
ADDED
@@ -0,0 +1,184 @@
|
|
1
|
+
#SPARQL Client for RDF.rb
|
2
|
+
|
3
|
+
This is a [Ruby][] implementation of a [SPARQL][] client for [RDF.rb][].
|
4
|
+
|
5
|
+
* <http://ruby-rdf.github.com/sparql-client/>
|
6
|
+
|
7
|
+
[](http://badge.fury.io/rb/sparql-client)
|
8
|
+
[](http://travis-ci.org/ruby-rdf/sparql-client)
|
9
|
+
[](https://coveralls.io/github/ruby-rdf/sparql-client?branch=master)
|
10
|
+
|
11
|
+
##Features
|
12
|
+
|
13
|
+
* Executes queries against any SPARQL 1.0/1.1-compatible endpoint over HTTP,
|
14
|
+
or against an `RDF::Queryable` instance, using the `SPARQL` gem.
|
15
|
+
* Provides a query builder [DSL][] for `ASK`, `SELECT`, `DESCRIBE` and
|
16
|
+
`CONSTRUCT` queries.
|
17
|
+
* Includes preliminary support for some SPARQL 1.1 Update operations.
|
18
|
+
* Supports tuple result sets in both XML, JSON, CSV and TSV formats, with JSON being
|
19
|
+
the preferred default for content-negotiation purposes.
|
20
|
+
* Supports graph results in any RDF serialization format understood by RDF.rb.
|
21
|
+
* Returns results using the [RDF.rb object model][RDF.rb model].
|
22
|
+
* Supports accessing endpoints as read/write [`RDF::Repository`][RDF::Repository]
|
23
|
+
instances {SPARQL::Client::Repository}.
|
24
|
+
|
25
|
+
##Examples
|
26
|
+
|
27
|
+
### Querying a remote SPARQL endpoint
|
28
|
+
require 'sparql/client'
|
29
|
+
|
30
|
+
sparql = SPARQL::Client.new("http://dbpedia.org/sparql")
|
31
|
+
|
32
|
+
### Querying a `RDF::Repository` instance
|
33
|
+
|
34
|
+
require 'rdf/trig'
|
35
|
+
repository = RDF::Repository.load("http://example/dataset.trig")
|
36
|
+
|
37
|
+
sparql = SPARQL::Client.new(repository)
|
38
|
+
|
39
|
+
### Executing a boolean query and outputting the result
|
40
|
+
|
41
|
+
# ASK WHERE { ?s ?p ?o }
|
42
|
+
result = sparql.ask.whether([:s, :p, :o]).true?
|
43
|
+
|
44
|
+
puts result.inspect #=> true or false
|
45
|
+
|
46
|
+
### Executing a tuple query and iterating over the returned solutions
|
47
|
+
|
48
|
+
# SELECT * WHERE { ?s ?p ?o } OFFSET 100 LIMIT 10
|
49
|
+
query = sparql.select.where([:s, :p, :o]).offset(100).limit(10)
|
50
|
+
|
51
|
+
query.each_solution do |solution|
|
52
|
+
puts solution.inspect
|
53
|
+
end
|
54
|
+
|
55
|
+
### Executing a graph query and iterating over the returned statements
|
56
|
+
|
57
|
+
# CONSTRUCT { ?s ?p ?o } WHERE { ?s ?p ?o } LIMIT 10
|
58
|
+
query = sparql.construct([:s, :p, :o]).where([:s, :p, :o]).limit(10)
|
59
|
+
|
60
|
+
query.each_statement do |statement|
|
61
|
+
puts statement.inspect
|
62
|
+
end
|
63
|
+
|
64
|
+
### Executing an arbitrary textual SPARQL query string
|
65
|
+
|
66
|
+
result = sparql.query("ASK WHERE { ?s ?p ?o }")
|
67
|
+
|
68
|
+
puts result.inspect #=> true or false
|
69
|
+
|
70
|
+
### Inserting data into a graph
|
71
|
+
|
72
|
+
# INSERT DATA { <http://example.org/jhacker> <http://xmlns.com/foaf/0.1/name> "J. Random Hacker" .}
|
73
|
+
data = RDF::Graph.new do |graph|
|
74
|
+
graph << [RDF::URI('http://example.org/jhacker'), RDF::Vocab::FOAF.name, "J. Random Hacker"]
|
75
|
+
end
|
76
|
+
insert_data(data)
|
77
|
+
|
78
|
+
### Deleting data from a graph
|
79
|
+
|
80
|
+
# DELETE DATA { <http://example.org/jhacker> <http://xmlns.com/foaf/0.1/name> "J. Random Hacker" .}
|
81
|
+
data = RDF::Graph.new do |graph|
|
82
|
+
graph << [RDF::URI('http://example.org/jhacker'), RDF::Vocab::FOAF.name, "J. Random Hacker"]
|
83
|
+
end
|
84
|
+
delete_data(data)
|
85
|
+
|
86
|
+
##Documentation
|
87
|
+
|
88
|
+
* {SPARQL::Client}
|
89
|
+
* {SPARQL::Client::Query}
|
90
|
+
* {SPARQL::Client::Repository}
|
91
|
+
* {SPARQL::Client::Update}
|
92
|
+
|
93
|
+
##Dependencies
|
94
|
+
|
95
|
+
* [Ruby](http://ruby-lang.org/) (>= 2.0)
|
96
|
+
* [RDF.rb](http://rubygems.org/gems/rdf) (>= 2.0)
|
97
|
+
* [Net::HTTP::Persistent](http://rubygems.org/gems/net-http-persistent) (>= 1.4)
|
98
|
+
* Soft dependency on [SPARQL](http://rubygems.org/gems/sparql) (>= 1.1)
|
99
|
+
* Soft dependency on [Nokogiri](http://rubygems.org/gems/nokogiri) (>= 1.6)
|
100
|
+
|
101
|
+
##Installation
|
102
|
+
|
103
|
+
The recommended installation method is via [RubyGems](http://rubygems.org/).
|
104
|
+
To install the latest official release of the `SPARQL::Client` gem, do:
|
105
|
+
|
106
|
+
% [sudo] gem install sparql-client
|
107
|
+
|
108
|
+
##Download
|
109
|
+
|
110
|
+
To get a local working copy of the development repository, do:
|
111
|
+
|
112
|
+
% git clone git://github.com/ruby-rdf/sparql-client.git
|
113
|
+
|
114
|
+
Alternatively, download the latest development version as a tarball as
|
115
|
+
follows:
|
116
|
+
|
117
|
+
% wget http://github.com/ruby-rdf/sparql-client/tarball/master
|
118
|
+
|
119
|
+
##Mailing List
|
120
|
+
|
121
|
+
* <http://lists.w3.org/Archives/Public/public-rdf-ruby/>
|
122
|
+
|
123
|
+
##Authors
|
124
|
+
|
125
|
+
* [Arto Bendiken](http://github.com/bendiken) - <http://ar.to/>
|
126
|
+
* [Ben Lavender](http://github.com/bhuga) - <http://bhuga.net/>
|
127
|
+
* [Gregg Kellogg](http://github.com/gkellogg) - <http://greggkellogg.net/>
|
128
|
+
|
129
|
+
##Contributors
|
130
|
+
|
131
|
+
* [Christoph Badura](http://github.com/bad) - <http://github.com/bad>
|
132
|
+
* [James Hetherington](http://github.com/jamespjh) - <http://twitter.com/jamespjh>
|
133
|
+
* [Gabriel Horner](http://github.com/cldwalker) - <http://tagaholic.me/>
|
134
|
+
* [Nicholas Humfrey](http://github.com/njh) - <http://www.aelius.com/njh/>
|
135
|
+
* [Fumihiro Kato](http://github.com/fumi) - <http://fumi.me/>
|
136
|
+
* [David Nielsen](http://github.com/drankard) - <http://github.com/drankard>
|
137
|
+
* [Thamaraiselvan Poomalai](http://github.com/selvan) - <http://softonaut.blogspot.com/>
|
138
|
+
* [Michael Sokol](http://github.com/mikaa123) - <http://sokolmichael.com/>
|
139
|
+
* [Yves Raimond](http://github.com/moustaki) - <http://moustaki.org/>
|
140
|
+
* [Thomas Feron](http://github.com/thoferon) - <http://github.com/thoferon>
|
141
|
+
* [Nick Gottlieb](http://github.com/ngottlieb) - <http://www.nicholasgottlieb.com>
|
142
|
+
|
143
|
+
##Contributing
|
144
|
+
This repository uses [Git Flow](https://github.com/nvie/gitflow) to mange development and release activity. All submissions _must_ be on a feature branch based on the _develop_ branch to ease staging and integration.
|
145
|
+
|
146
|
+
* Do your best to adhere to the existing coding conventions and idioms.
|
147
|
+
* Don't use hard tabs, and don't leave trailing whitespace on any line.
|
148
|
+
* Do document every method you add using [YARD][] annotations. Read the
|
149
|
+
[tutorial][YARD-GS] or just look at the existing code for examples.
|
150
|
+
* Don't touch the `.gemspec`, `VERSION` or `AUTHORS` files. If you need to
|
151
|
+
change them, do so on your private branch only.
|
152
|
+
* Do feel free to add yourself to the `CREDITS` file and the corresponding
|
153
|
+
list in the the `README`. Alphabetical order applies.
|
154
|
+
* Do note that in order for us to merge any non-trivial changes (as a rule
|
155
|
+
of thumb, additions larger than about 15 lines of code), we need an
|
156
|
+
explicit [public domain dedication][PDD] on record from you.
|
157
|
+
|
158
|
+
##Resources
|
159
|
+
|
160
|
+
* <http://ruby-rdf.github.com/sparql-client/>
|
161
|
+
* <http://github.com/ruby-rdf/sparql-client>
|
162
|
+
* <http://rubygems.org/gems/sparql-client>
|
163
|
+
* <http://rubyforge.org/projects/sparql/>
|
164
|
+
* <http://raa.ruby-lang.org/project/sparql-client/>
|
165
|
+
* <http://www.ohloh.net/p/rdf>
|
166
|
+
|
167
|
+
##License
|
168
|
+
|
169
|
+
This is free and unencumbered public domain software. For more information,
|
170
|
+
see <http://unlicense.org/> or the accompanying {file:UNLICENSE} file.
|
171
|
+
|
172
|
+
[Ruby]: http://ruby-lang.org/
|
173
|
+
[RDF]: http://www.w3.org/RDF/
|
174
|
+
[SPARQL]: http://en.wikipedia.org/wiki/SPARQL
|
175
|
+
[SPARQL JSON]: http://www.w3.org/TR/rdf-sparql-json-res/
|
176
|
+
[RDF.rb]: http://rubygems.org/gems/rdf
|
177
|
+
[RDF.rb model]: http://blog.datagraph.org/2010/03/rdf-for-ruby
|
178
|
+
[RDF::Repository]: http://rubydoc.info/github/ruby-rdf/rdf/RDF/Repository
|
179
|
+
[DSL]: http://en.wikipedia.org/wiki/Domain-specific_language
|
180
|
+
"domain-specific language"
|
181
|
+
[YARD]: http://yardoc.org/
|
182
|
+
[YARD-GS]: http://rubydoc.info/docs/yard/file/docs/GettingStarted.md
|
183
|
+
[PDD]: http://unlicense.org/#unlicensing-contributions
|
184
|
+
[Backports]: http://rubygems.org/gems/backports
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
|
1
|
+
2.0.0.beta1
|
data/lib/sparql/client.rb
CHANGED
@@ -35,13 +35,13 @@ module SPARQL
|
|
35
35
|
RESULT_JSON,
|
36
36
|
RESULT_XML,
|
37
37
|
RESULT_BOOL,
|
38
|
-
"#{RESULT_TSV};
|
39
|
-
"#{RESULT_CSV};
|
40
|
-
'*/*;
|
38
|
+
"#{RESULT_TSV};p=0.8",
|
39
|
+
"#{RESULT_CSV};p=0.2",
|
40
|
+
'*/*;p=0.1'
|
41
41
|
].join(', ').freeze
|
42
42
|
GRAPH_ALL = (
|
43
43
|
RDF::Format.content_types.keys +
|
44
|
-
['*/*;
|
44
|
+
['*/*;p=0.1']
|
45
45
|
).join(', ').freeze
|
46
46
|
|
47
47
|
ACCEPT_JSON = {'Accept' => RESULT_JSON}.freeze
|
@@ -153,7 +153,7 @@ module SPARQL
|
|
153
153
|
#
|
154
154
|
# @example Inserting data constructed ad-hoc
|
155
155
|
# client.insert_data(RDF::Graph.new { |graph|
|
156
|
-
# graph << [:jhacker, RDF::FOAF.name, "J. Random Hacker"]
|
156
|
+
# graph << [:jhacker, RDF::Vocab::FOAF.name, "J. Random Hacker"]
|
157
157
|
# })
|
158
158
|
#
|
159
159
|
# @example Inserting data sourced from a file or URL
|
@@ -291,7 +291,6 @@ module SPARQL
|
|
291
291
|
# @see http://www.w3.org/TR/sparql11-protocol/#query-operation
|
292
292
|
def query(query, options = {})
|
293
293
|
@op = :query
|
294
|
-
@alt_endpoint = options[:endpoint]
|
295
294
|
case @url
|
296
295
|
when RDF::Queryable
|
297
296
|
require 'sparql' unless defined?(::SPARQL::Grammar)
|
@@ -318,13 +317,13 @@ module SPARQL
|
|
318
317
|
# @see http://www.w3.org/TR/sparql11-protocol/#update-operation
|
319
318
|
def update(query, options = {})
|
320
319
|
@op = :update
|
321
|
-
@alt_endpoint = options[:endpoint]
|
320
|
+
@alt_endpoint = options[:endpoint] unless options[:endpoint].nil?
|
322
321
|
case @url
|
323
322
|
when RDF::Queryable
|
324
323
|
require 'sparql' unless defined?(::SPARQL::Grammar)
|
325
324
|
SPARQL.execute(query, @url, options.merge(update: true))
|
326
325
|
else
|
327
|
-
response(query, options)
|
326
|
+
parse_response(response(query, options), options)
|
328
327
|
end
|
329
328
|
self
|
330
329
|
end
|
@@ -361,8 +360,6 @@ module SPARQL
|
|
361
360
|
# @return [Object]
|
362
361
|
def parse_response(response, options = {})
|
363
362
|
case options[:content_type] || response.content_type
|
364
|
-
when NilClass
|
365
|
-
response.body
|
366
363
|
when RESULT_BOOL # Sesame-specific
|
367
364
|
response.body == 'true'
|
368
365
|
when RESULT_JSON
|
@@ -539,11 +536,9 @@ module SPARQL
|
|
539
536
|
# @param [Hash{Symbol => Object}] options
|
540
537
|
# @return [RDF::Enumerable]
|
541
538
|
def parse_rdf_serialization(response, options = {})
|
542
|
-
options = {:content_type => response.content_type}
|
539
|
+
options = {:content_type => response.content_type} if options.empty?
|
543
540
|
if reader = RDF::Reader.for(options)
|
544
541
|
reader.new(response.body)
|
545
|
-
else
|
546
|
-
raise RDF::ReaderError, "no suitable rdf reader was found."
|
547
542
|
end
|
548
543
|
end
|
549
544
|
|
@@ -655,7 +650,7 @@ module SPARQL
|
|
655
650
|
proxy_url = URI.parse(value) unless value.nil? || value.empty?
|
656
651
|
end
|
657
652
|
klass = Net::HTTP::Persistent.new(self.class.to_s, proxy_url)
|
658
|
-
klass.keep_alive =
|
653
|
+
klass.keep_alive = 120 # increase to 2 minutes
|
659
654
|
klass.read_timeout = @options[:read_timeout] || 60
|
660
655
|
klass
|
661
656
|
end
|
@@ -683,12 +678,8 @@ module SPARQL
|
|
683
678
|
|
684
679
|
request.basic_auth(url.user, url.password) if url.user && !url.user.empty?
|
685
680
|
|
686
|
-
pre_http_hook(request) if respond_to?(:pre_http_hook)
|
687
|
-
|
688
681
|
response = @http.request(::URI.parse(url.to_s), request)
|
689
682
|
|
690
|
-
post_http_hook(response) if respond_to?(:post_http_hook)
|
691
|
-
|
692
683
|
10.times do
|
693
684
|
if response.kind_of? Net::HTTPRedirection
|
694
685
|
response = @http.request(::URI.parse(response['location']), request)
|
data/lib/sparql/client/query.rb
CHANGED
@@ -336,7 +336,7 @@ module SPARQL; class Client
|
|
336
336
|
##
|
337
337
|
# @example SELECT * WHERE \{ ?s ?p ?o . OPTIONAL \{ ?s a ?o . ?s \<http://purl.org/dc/terms/abstract\> ?o . \} \}
|
338
338
|
# query.select.where([:s, :p, :o]).
|
339
|
-
# optional([:s, RDF.type, :o], [:s, RDF::DC.abstract, :o])
|
339
|
+
# optional([:s, RDF.type, :o], [:s, RDF::Vocab::DC.abstract, :o])
|
340
340
|
#
|
341
341
|
# @return [Query]
|
342
342
|
# @see http://www.w3.org/TR/sparql11-query/#optionals
|
@@ -354,12 +354,7 @@ module SPARQL; class Client
|
|
354
354
|
##
|
355
355
|
# @private
|
356
356
|
def build_patterns(patterns)
|
357
|
-
patterns.map
|
358
|
-
case pattern
|
359
|
-
when RDF::Query::Pattern then pattern
|
360
|
-
else RDF::Query::Pattern.new(*pattern.to_a)
|
361
|
-
end
|
362
|
-
end
|
357
|
+
patterns.map {|pattern| RDF::Query::Pattern.from(pattern)}
|
363
358
|
end
|
364
359
|
|
365
360
|
##
|
@@ -8,12 +8,16 @@ module SPARQL; class Client
|
|
8
8
|
attr_reader :client
|
9
9
|
|
10
10
|
##
|
11
|
-
# @param
|
12
|
-
#
|
13
|
-
|
14
|
-
|
11
|
+
# @param [URI, #to_s] uri
|
12
|
+
# Endpoint of this repository
|
13
|
+
# @param [String, #to_s] title (nil)
|
14
|
+
# @param [Hash{Symbol => Object}] options passed to RDF::Repository
|
15
|
+
def initialize(uri: nil, **options, &block)
|
16
|
+
raise ArgumentError, "uri is a required parameter" unless uri
|
17
|
+
@options = options.merge(uri: uri)
|
15
18
|
@update_client = SPARQL::Client.new(options.delete(:update_endpoint), options) if options[:update_endpoint]
|
16
|
-
@client = SPARQL::Client.new(
|
19
|
+
@client = SPARQL::Client.new(uri, options)
|
20
|
+
super(@options, &block)
|
17
21
|
end
|
18
22
|
|
19
23
|
##
|
@@ -191,10 +195,27 @@ module SPARQL; class Client
|
|
191
195
|
# considered to be a pattern, and used to query
|
192
196
|
# self to find matching statements to delete.
|
193
197
|
#
|
194
|
-
# @
|
195
|
-
#
|
196
|
-
#
|
198
|
+
# @overload delete(*statements)
|
199
|
+
# @param [Array<RDF::Statement>] statements
|
200
|
+
# @raise [TypeError] if `self` is immutable
|
201
|
+
# @return [self]
|
202
|
+
#
|
203
|
+
# @overload delete(statements)
|
204
|
+
# @param [Enumerable<RDF::Statement>] statements
|
205
|
+
# @raise [TypeError] if `self` is immutable
|
206
|
+
# @return [self]
|
207
|
+
#
|
208
|
+
# @see RDF::Mutable#delete
|
197
209
|
def delete(*statements)
|
210
|
+
statements.map! do |value|
|
211
|
+
if value.respond_to?(:each_statement)
|
212
|
+
delete_statements(value)
|
213
|
+
nil
|
214
|
+
else
|
215
|
+
value
|
216
|
+
end
|
217
|
+
end
|
218
|
+
statements.compact!
|
198
219
|
delete_statements(statements) unless statements.empty?
|
199
220
|
return self
|
200
221
|
end
|
@@ -239,7 +260,7 @@ module SPARQL; class Client
|
|
239
260
|
# @yield [statement]
|
240
261
|
# @yieldparam [Statement]
|
241
262
|
# @return [Enumerable<Statement>]
|
242
|
-
def query_pattern(pattern, &block)
|
263
|
+
def query_pattern(pattern, options = {}, &block)
|
243
264
|
pattern = pattern.dup
|
244
265
|
pattern.subject ||= RDF::Query::Variable.new
|
245
266
|
pattern.predicate ||= RDF::Query::Variable.new
|
@@ -262,7 +283,6 @@ module SPARQL; class Client
|
|
262
283
|
# @param [RDF::Enumerable] statements
|
263
284
|
# @return [void]
|
264
285
|
def delete_statements(statements)
|
265
|
-
|
266
286
|
constant = statements.all? do |value|
|
267
287
|
# needs to be flattened... urgh
|
268
288
|
!value.respond_to?(:each_statement) && begin
|
data/lib/sparql/client/update.rb
CHANGED
@@ -7,7 +7,7 @@ class SPARQL::Client
|
|
7
7
|
#
|
8
8
|
# @example INSERT DATA \{ <http://example.org/jhacker> <http://xmlns.com/foaf/0.1/name> \"J. Random Hacker\" .\}
|
9
9
|
# data = RDF::Graph.new do |graph|
|
10
|
-
# graph << [RDF::URI('http://example.org/jhacker'), RDF::FOAF.name, "J. Random Hacker"]
|
10
|
+
# graph << [RDF::URI('http://example.org/jhacker'), RDF::Vocab::FOAF.name, "J. Random Hacker"]
|
11
11
|
# end
|
12
12
|
# insert_data(data)
|
13
13
|
#
|
@@ -25,7 +25,7 @@ class SPARQL::Client
|
|
25
25
|
#
|
26
26
|
# @example DELETE DATA \{ <http://example.org/jhacker> <http://xmlns.com/foaf/0.1/name> \"J. Random Hacker\" .\}
|
27
27
|
# data = RDF::Graph.new do |graph|
|
28
|
-
# graph << [RDF::URI('http://example.org/jhacker'), RDF::FOAF.name, "J. Random Hacker"]
|
28
|
+
# graph << [RDF::URI('http://example.org/jhacker'), RDF::Vocab::FOAF.name, "J. Random Hacker"]
|
29
29
|
# end
|
30
30
|
# delete_data(data)
|
31
31
|
#
|
@@ -165,7 +165,7 @@ class SPARQL::Client
|
|
165
165
|
#
|
166
166
|
# @example INSERT DATA \{ <http://example.org/jhacker> <http://xmlns.com/foaf/0.1/name> \"J. Random Hacker\" .\}
|
167
167
|
# data = RDF::Graph.new do |graph|
|
168
|
-
# graph << [RDF::URI('http://example.org/jhacker'), RDF::FOAF.name, "J. Random Hacker"]
|
168
|
+
# graph << [RDF::URI('http://example.org/jhacker'), RDF::Vocab::FOAF.name, "J. Random Hacker"]
|
169
169
|
# end
|
170
170
|
# insert_data(data)
|
171
171
|
#
|
@@ -215,7 +215,7 @@ class SPARQL::Client
|
|
215
215
|
#
|
216
216
|
# @example DELETE DATA \{ <http://example.org/jhacker> <http://xmlns.com/foaf/0.1/name> \"J. Random Hacker\" .\}
|
217
217
|
# data = RDF::Graph.new do |graph|
|
218
|
-
# graph << [RDF::URI('http://example.org/jhacker'), RDF::FOAF.name, "J. Random Hacker"]
|
218
|
+
# graph << [RDF::URI('http://example.org/jhacker'), RDF::Vocab::FOAF.name, "J. Random Hacker"]
|
219
219
|
# end
|
220
220
|
# delete_data(data)
|
221
221
|
#
|
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:
|
4
|
+
version: 2.0.0.beta1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Arto Bendiken
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2016-
|
13
|
+
date: 2016-02-22 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: rdf
|
@@ -18,7 +18,7 @@ dependencies:
|
|
18
18
|
requirements:
|
19
19
|
- - ">="
|
20
20
|
- !ruby/object:Gem::Version
|
21
|
-
version:
|
21
|
+
version: 2.0.0.beta
|
22
22
|
- - "<"
|
23
23
|
- !ruby/object:Gem::Version
|
24
24
|
version: '3'
|
@@ -28,7 +28,7 @@ dependencies:
|
|
28
28
|
requirements:
|
29
29
|
- - ">="
|
30
30
|
- !ruby/object:Gem::Version
|
31
|
-
version:
|
31
|
+
version: 2.0.0.beta
|
32
32
|
- - "<"
|
33
33
|
- !ruby/object:Gem::Version
|
34
34
|
version: '3'
|
@@ -46,41 +46,13 @@ dependencies:
|
|
46
46
|
- - "~>"
|
47
47
|
- !ruby/object:Gem::Version
|
48
48
|
version: '2.9'
|
49
|
-
- !ruby/object:Gem::Dependency
|
50
|
-
name: json
|
51
|
-
requirement: !ruby/object:Gem::Requirement
|
52
|
-
requirements:
|
53
|
-
- - "~>"
|
54
|
-
- !ruby/object:Gem::Version
|
55
|
-
version: '1.8'
|
56
|
-
type: :runtime
|
57
|
-
prerelease: false
|
58
|
-
version_requirements: !ruby/object:Gem::Requirement
|
59
|
-
requirements:
|
60
|
-
- - "~>"
|
61
|
-
- !ruby/object:Gem::Version
|
62
|
-
version: '1.8'
|
63
|
-
- !ruby/object:Gem::Dependency
|
64
|
-
name: tins
|
65
|
-
requirement: !ruby/object:Gem::Requirement
|
66
|
-
requirements:
|
67
|
-
- - '='
|
68
|
-
- !ruby/object:Gem::Version
|
69
|
-
version: 1.6.0
|
70
|
-
type: :runtime
|
71
|
-
prerelease: false
|
72
|
-
version_requirements: !ruby/object:Gem::Requirement
|
73
|
-
requirements:
|
74
|
-
- - '='
|
75
|
-
- !ruby/object:Gem::Version
|
76
|
-
version: 1.6.0
|
77
49
|
- !ruby/object:Gem::Dependency
|
78
50
|
name: sparql
|
79
51
|
requirement: !ruby/object:Gem::Requirement
|
80
52
|
requirements:
|
81
53
|
- - ">="
|
82
54
|
- !ruby/object:Gem::Version
|
83
|
-
version:
|
55
|
+
version: 2.0.0.beta
|
84
56
|
- - "<"
|
85
57
|
- !ruby/object:Gem::Version
|
86
58
|
version: '3'
|
@@ -90,7 +62,7 @@ dependencies:
|
|
90
62
|
requirements:
|
91
63
|
- - ">="
|
92
64
|
- !ruby/object:Gem::Version
|
93
|
-
version:
|
65
|
+
version: 2.0.0.beta
|
94
66
|
- - "<"
|
95
67
|
- !ruby/object:Gem::Version
|
96
68
|
version: '3'
|
@@ -100,7 +72,7 @@ dependencies:
|
|
100
72
|
requirements:
|
101
73
|
- - ">="
|
102
74
|
- !ruby/object:Gem::Version
|
103
|
-
version:
|
75
|
+
version: 2.0.0.beta
|
104
76
|
- - "<"
|
105
77
|
- !ruby/object:Gem::Version
|
106
78
|
version: '3'
|
@@ -110,27 +82,7 @@ dependencies:
|
|
110
82
|
requirements:
|
111
83
|
- - ">="
|
112
84
|
- !ruby/object:Gem::Version
|
113
|
-
version:
|
114
|
-
- - "<"
|
115
|
-
- !ruby/object:Gem::Version
|
116
|
-
version: '3'
|
117
|
-
- !ruby/object:Gem::Dependency
|
118
|
-
name: rdf-turtle
|
119
|
-
requirement: !ruby/object:Gem::Requirement
|
120
|
-
requirements:
|
121
|
-
- - ">="
|
122
|
-
- !ruby/object:Gem::Version
|
123
|
-
version: '1.99'
|
124
|
-
- - "<"
|
125
|
-
- !ruby/object:Gem::Version
|
126
|
-
version: '3'
|
127
|
-
type: :development
|
128
|
-
prerelease: false
|
129
|
-
version_requirements: !ruby/object:Gem::Requirement
|
130
|
-
requirements:
|
131
|
-
- - ">="
|
132
|
-
- !ruby/object:Gem::Version
|
133
|
-
version: '1.99'
|
85
|
+
version: 2.0.0.beta
|
134
86
|
- - "<"
|
135
87
|
- !ruby/object:Gem::Version
|
136
88
|
version: '3'
|
@@ -140,28 +92,28 @@ dependencies:
|
|
140
92
|
requirements:
|
141
93
|
- - "~>"
|
142
94
|
- !ruby/object:Gem::Version
|
143
|
-
version: 3.
|
95
|
+
version: '3.4'
|
144
96
|
type: :development
|
145
97
|
prerelease: false
|
146
98
|
version_requirements: !ruby/object:Gem::Requirement
|
147
99
|
requirements:
|
148
100
|
- - "~>"
|
149
101
|
- !ruby/object:Gem::Version
|
150
|
-
version: 3.
|
102
|
+
version: '3.4'
|
151
103
|
- !ruby/object:Gem::Dependency
|
152
104
|
name: rspec-its
|
153
105
|
requirement: !ruby/object:Gem::Requirement
|
154
106
|
requirements:
|
155
107
|
- - "~>"
|
156
108
|
- !ruby/object:Gem::Version
|
157
|
-
version: '1.
|
109
|
+
version: '1.2'
|
158
110
|
type: :development
|
159
111
|
prerelease: false
|
160
112
|
version_requirements: !ruby/object:Gem::Requirement
|
161
113
|
requirements:
|
162
114
|
- - "~>"
|
163
115
|
- !ruby/object:Gem::Version
|
164
|
-
version: '1.
|
116
|
+
version: '1.2'
|
165
117
|
- !ruby/object:Gem::Dependency
|
166
118
|
name: webmock
|
167
119
|
requirement: !ruby/object:Gem::Requirement
|
@@ -190,20 +142,6 @@ dependencies:
|
|
190
142
|
- - "~>"
|
191
143
|
- !ruby/object:Gem::Version
|
192
144
|
version: '0.8'
|
193
|
-
- !ruby/object:Gem::Dependency
|
194
|
-
name: rack
|
195
|
-
requirement: !ruby/object:Gem::Requirement
|
196
|
-
requirements:
|
197
|
-
- - "~>"
|
198
|
-
- !ruby/object:Gem::Version
|
199
|
-
version: '0.8'
|
200
|
-
type: :development
|
201
|
-
prerelease: false
|
202
|
-
version_requirements: !ruby/object:Gem::Requirement
|
203
|
-
requirements:
|
204
|
-
- - "~>"
|
205
|
-
- !ruby/object:Gem::Version
|
206
|
-
version: '0.8'
|
207
145
|
description: |-
|
208
146
|
Executes SPARQL queries and updates against a remote SPARQL 1.0 or 1.1 endpoint,
|
209
147
|
or against a local repository. Generates SPARQL queries using a simple DSL.
|
@@ -216,7 +154,7 @@ extra_rdoc_files: []
|
|
216
154
|
files:
|
217
155
|
- AUTHORS
|
218
156
|
- CREDITS
|
219
|
-
- README
|
157
|
+
- README.md
|
220
158
|
- UNLICENSE
|
221
159
|
- VERSION
|
222
160
|
- lib/sparql/client.rb
|
@@ -226,7 +164,7 @@ files:
|
|
226
164
|
- lib/sparql/client/version.rb
|
227
165
|
homepage: http://ruby-rdf.github.com/sparql-client/
|
228
166
|
licenses:
|
229
|
-
-
|
167
|
+
- Unlicense
|
230
168
|
metadata: {}
|
231
169
|
post_install_message:
|
232
170
|
rdoc_options: []
|
@@ -236,12 +174,12 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
236
174
|
requirements:
|
237
175
|
- - ">="
|
238
176
|
- !ruby/object:Gem::Version
|
239
|
-
version:
|
177
|
+
version: '2.0'
|
240
178
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
241
179
|
requirements:
|
242
|
-
- - "
|
180
|
+
- - ">"
|
243
181
|
- !ruby/object:Gem::Version
|
244
|
-
version:
|
182
|
+
version: 1.3.1
|
245
183
|
requirements: []
|
246
184
|
rubyforge_project: sparql-client
|
247
185
|
rubygems_version: 2.5.1
|
@@ -249,3 +187,4 @@ signing_key:
|
|
249
187
|
specification_version: 4
|
250
188
|
summary: SPARQL client for RDF.rb.
|
251
189
|
test_files: []
|
190
|
+
has_rdoc: false
|
data/README
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
README.md
|