rdf-sesame 3.0.1 → 3.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 +5 -5
- data/VERSION +1 -1
- data/lib/rdf/sesame/connection.rb +4 -6
- data/lib/rdf/sesame/repository.rb +54 -21
- data/lib/rdf/sesame/server.rb +2 -0
- data/lib/rdf/sesame/version.rb +3 -4
- metadata +3 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: a61133a0a5d9d38168002df45bbd53101d5a6c66c72968bf0e05f2e44bd416c7
|
4
|
+
data.tar.gz: b26ed3787876b38d4542c5529a2bee1f3cc4d579a0da27ccc709ad70623fc087
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a345ec1c99201380cdf65d323257bda9d0d642006aa782c2cf5881729b024e191ba0e37b2e79bbdccac0245da5a76796b14c7f13571683c5916232e5d221ecac
|
7
|
+
data.tar.gz: c559209cf90f38b8a73de13a938754c60d5d3d164c6bdf63b29e5838b0ded1de508e414e2322bb051dbbe6bd764a027a45bb5bcace381fa992378815a4de161d
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
3.
|
1
|
+
3.1.2
|
@@ -325,12 +325,10 @@ module RDF::Sesame
|
|
325
325
|
request.body = data.to_s
|
326
326
|
request.basic_auth @user, @pass unless @user.nil? || @pass.nil?
|
327
327
|
response = http.request(request)
|
328
|
-
|
329
|
-
|
330
|
-
|
331
|
-
|
332
|
-
response
|
333
|
-
end
|
328
|
+
if block_given?
|
329
|
+
yield response
|
330
|
+
else
|
331
|
+
response
|
334
332
|
end
|
335
333
|
end
|
336
334
|
end
|
@@ -291,6 +291,27 @@ module RDF::Sesame
|
|
291
291
|
raw_query(query, 'sparql', options, &block)
|
292
292
|
end
|
293
293
|
|
294
|
+
# Run a raw SPARQL query.
|
295
|
+
#
|
296
|
+
# @overload sparql_query(query) {|solution| ... }
|
297
|
+
# @yield solution
|
298
|
+
# @yieldparam [RDF::Query::Solution] solution
|
299
|
+
# @yieldreturn [void]
|
300
|
+
# @return [void]
|
301
|
+
#
|
302
|
+
# @overload sparql_query(pattern)
|
303
|
+
# @return [Enumerator<RDF::Query::Solution>]
|
304
|
+
#
|
305
|
+
# @param [String] query The query to run.
|
306
|
+
# @param [Hash{Symbol => Object}] options
|
307
|
+
# The query options (see build_query).
|
308
|
+
# @return [void]
|
309
|
+
#
|
310
|
+
# @see #build_query
|
311
|
+
def sparql_query(query, options={}, &block)
|
312
|
+
raw_query(query, 'sparql', options, &block)
|
313
|
+
end
|
314
|
+
|
294
315
|
##
|
295
316
|
# Returns all statements of the given query when the query
|
296
317
|
# is a READ query. Execute a WRITE query and returns the
|
@@ -325,21 +346,13 @@ module RDF::Sesame
|
|
325
346
|
options[:format] = Server::ACCEPT_JSON unless options[:format]
|
326
347
|
options[:parsing] = :full unless options[:parsing]
|
327
348
|
|
328
|
-
parameters = { :
|
349
|
+
parameters = { :queryLn => queryLn, :infer => options[:infer] }
|
329
350
|
|
330
|
-
response =
|
331
|
-
|
332
|
-
|
333
|
-
|
334
|
-
|
335
|
-
url = Addressable::URI.parse(path)
|
336
|
-
unless url.normalize.query.nil?
|
337
|
-
url.query = [url.query, params].compact.join('&')
|
338
|
-
else
|
339
|
-
url.query = [url.query, params].compact.join('?')
|
340
|
-
end
|
341
|
-
server.get(url, options[:format])
|
342
|
-
end
|
351
|
+
response = server.post(
|
352
|
+
encode_url_parameters(path, parameters),
|
353
|
+
query,
|
354
|
+
Server::CONTENT_TYPE_SPARQL_QUERY.merge(options[:format])
|
355
|
+
)
|
343
356
|
|
344
357
|
results = if (options[:parsing] == :full)
|
345
358
|
parse_response(response)
|
@@ -364,10 +377,14 @@ module RDF::Sesame
|
|
364
377
|
# @param [Hash] options
|
365
378
|
# @return [Boolean]
|
366
379
|
def write_query(query, queryLn, options)
|
367
|
-
parameters = {}
|
368
|
-
|
369
|
-
|
370
|
-
|
380
|
+
parameters = { infer: options[:infer] }
|
381
|
+
|
382
|
+
response = server.post(
|
383
|
+
encode_url_parameters(path(:statements), parameters),
|
384
|
+
query,
|
385
|
+
Server::CONTENT_TYPE_SPARQL_UPDATE
|
386
|
+
)
|
387
|
+
|
371
388
|
response.code == "204"
|
372
389
|
end
|
373
390
|
|
@@ -549,9 +566,9 @@ module RDF::Sesame
|
|
549
566
|
when :uri
|
550
567
|
RDF::URI.new(value['value'])
|
551
568
|
when :literal
|
552
|
-
RDF::Literal.new(value['value'],
|
553
|
-
|
554
|
-
|
569
|
+
RDF::Literal.new(value['value'],
|
570
|
+
language: value['xml:lang'],
|
571
|
+
datatype: value['datatype'])
|
555
572
|
else nil
|
556
573
|
end
|
557
574
|
end
|
@@ -642,6 +659,22 @@ module RDF::Sesame
|
|
642
659
|
options
|
643
660
|
end
|
644
661
|
|
662
|
+
# @private
|
663
|
+
#
|
664
|
+
# Encode in the URL parameters
|
665
|
+
def encode_url_parameters(path, parameters)
|
666
|
+
params = Addressable::URI.form_encode(parameters).gsub("+", "%20").to_s
|
667
|
+
url = Addressable::URI.parse(path)
|
668
|
+
|
669
|
+
unless url.normalize.query.nil?
|
670
|
+
url.query = [url.query, params].compact.join('&')
|
671
|
+
else
|
672
|
+
url.query = [url.query, params].compact.join('?')
|
673
|
+
end
|
674
|
+
|
675
|
+
url
|
676
|
+
end
|
677
|
+
|
645
678
|
# @private
|
646
679
|
#
|
647
680
|
# Fetch the graph names from SESAME API
|
data/lib/rdf/sesame/server.rb
CHANGED
@@ -57,6 +57,8 @@ module RDF::Sesame
|
|
57
57
|
|
58
58
|
CONTENT_TYPE_TEXT = {'Content-Type' => 'text/plain'}.freeze
|
59
59
|
CONTENT_TYPE_X_FORM = {'Content-Type' => 'application/x-www-form-urlencoded' }.freeze
|
60
|
+
CONTENT_TYPE_SPARQL_QUERY = {'Content-Type' => 'application/sparql-query'}.freeze
|
61
|
+
CONTENT_TYPE_SPARQL_UPDATE = {'Content-Type' => 'application/sparql-update'}.freeze
|
60
62
|
|
61
63
|
RESULT_BOOL = 'text/boolean'.freeze
|
62
64
|
RESULT_JSON = 'application/sparql-results+json'.freeze
|
data/lib/rdf/sesame/version.rb
CHANGED
@@ -1,11 +1,10 @@
|
|
1
1
|
module RDF; module Sesame
|
2
2
|
module VERSION
|
3
3
|
MAJOR = 3
|
4
|
-
MINOR =
|
5
|
-
TINY =
|
6
|
-
EXTRA = nil
|
4
|
+
MINOR = 1
|
5
|
+
TINY = 2
|
7
6
|
|
8
|
-
STRING = [MAJOR, MINOR, TINY
|
7
|
+
STRING = [MAJOR, MINOR, TINY].compact.join('.')
|
9
8
|
|
10
9
|
##
|
11
10
|
# @return [String]
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rdf-sesame
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.
|
4
|
+
version: 3.1.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Arto Bendiken
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2022-03-10 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rdf
|
@@ -131,8 +131,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
131
131
|
- !ruby/object:Gem::Version
|
132
132
|
version: '0'
|
133
133
|
requirements: []
|
134
|
-
|
135
|
-
rubygems_version: 2.6.14.1
|
134
|
+
rubygems_version: 3.0.3
|
136
135
|
signing_key:
|
137
136
|
specification_version: 4
|
138
137
|
summary: Sesame 2.0 adapter for RDF.rb.
|