sparql 3.3.0 → 3.3.1
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 +6 -2
- data/VERSION +1 -1
- data/lib/sparql/algebra/operator/concat.rb +5 -0
- data/lib/sparql/algebra/operator/sequence.rb +1 -1
- data/lib/sparql/grammar/parser11.rb +7 -0
- metadata +21 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 04020d0f2d52ea9619dc58bf25c0660f62469e492cbf32893345cea0f888bc06
|
4
|
+
data.tar.gz: f6f982cfcc78222576f741b77bd4665e58f922641906ee8d66ca370063713752
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 427b55415d048501faad82f0355b74d40e21732e7e3ed61f44cb6f0db5446a58666989c341276db0afdd093b5b77a0bc335aa52de0620a18fe9b1d59cf32201d
|
7
|
+
data.tar.gz: 775d4e5037ab9d3affaacf71ee7723f6337da9959ce6acf7c5dd24e424706ff681f446a7087ee7af81046cc9b53f9385b38e5e2bc6529164311fa33108fe4742
|
data/README.md
CHANGED
@@ -25,7 +25,7 @@ An implementation of [SPARQL][] for [RDF.rb][].
|
|
25
25
|
* Helper method for describing [SPARQL Service Description][SSD]
|
26
26
|
* Helper method for setting up datasets as part of the [SPARQL 1.1 Protocol][].
|
27
27
|
* Implementation Report: {file:etc/earl.html EARL}
|
28
|
-
* Compatible with Ruby >=
|
28
|
+
* Compatible with Ruby >= 3.0.
|
29
29
|
* Supports Unicode query strings both on all versions of Ruby.
|
30
30
|
* Provisional support for [SPARQL-star][].
|
31
31
|
|
@@ -382,6 +382,10 @@ Find more examples in {SPARQL::Grammar} and {SPARQL::Algebra}.
|
|
382
382
|
|
383
383
|
Full documentation available on [Rubydoc.info][SPARQL doc]
|
384
384
|
|
385
|
+
## Change Log
|
386
|
+
|
387
|
+
See [Release Notes on GitHub](https://github.com/ruby-rdf/sparql/releases)
|
388
|
+
|
385
389
|
### Principle Classes
|
386
390
|
|
387
391
|
* {SPARQL}
|
@@ -400,7 +404,7 @@ Full documentation available on [Rubydoc.info][SPARQL doc]
|
|
400
404
|
* [Ruby](https://ruby-lang.org/) (>= 3.0)
|
401
405
|
* [RDF.rb](https://rubygems.org/gems/rdf) (~> 3.3)
|
402
406
|
* [SPARQL::Client](https://rubygems.org/gems/sparql-client) (~> 3.3)
|
403
|
-
* [SXP](https://rubygems.org/gems/sxp) (~>
|
407
|
+
* [SXP](https://rubygems.org/gems/sxp) (~> 2.0)
|
404
408
|
* [Builder](https://rubygems.org/gems/builder) (~> 3.2)
|
405
409
|
* [JSON](https://rubygems.org/gems/json) (~> 2.6)
|
406
410
|
* Soft dependency on [Linked Data][] (>= 3.3)
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
3.3.
|
1
|
+
3.3.1
|
@@ -50,6 +50,11 @@ module SPARQL; module Algebra
|
|
50
50
|
def evaluate(bindings, **options)
|
51
51
|
ops = operands.map {|op| op.evaluate(bindings, **options.merge(depth: options[:depth].to_i + 1))}
|
52
52
|
|
53
|
+
# rdf:nil is like empty string
|
54
|
+
if ops == [RDF.nil]
|
55
|
+
return RDF::Literal.new("")
|
56
|
+
end
|
57
|
+
|
53
58
|
raise TypeError, "expected all plain literal operands" unless ops.all? {|op| op.literal? && op.plain?}
|
54
59
|
|
55
60
|
ops.inject do |memo, op|
|
@@ -28,7 +28,7 @@ module SPARQL; module Algebra
|
|
28
28
|
# @yieldparam [RDF::Query::Solution] solution
|
29
29
|
# @yieldreturn [void] ignored
|
30
30
|
# @see https://www.w3.org/TR/sparql11-query/#sparqlAlgebra
|
31
|
-
def execute(queryable, **options)
|
31
|
+
def execute(queryable, **options, &block)
|
32
32
|
debug(options) {"Sequence #{operands.to_sse}"}
|
33
33
|
|
34
34
|
last = queryable.query(operands.shift, **options.merge(depth: options[:depth].to_i + 1))
|
@@ -974,6 +974,11 @@ module SPARQL::Grammar
|
|
974
974
|
add_prod_data :row, [:row]
|
975
975
|
else
|
976
976
|
Array(data[:rowdata]).each do |ds|
|
977
|
+
if ds.length < data[:Var].length
|
978
|
+
raise Error, "Too few values in a VALUE clause compared to the number of variables"
|
979
|
+
elsif ds.length > data[:Var].length
|
980
|
+
raise Error, "Too many values in a VALUE clause compared to the number of variables"
|
981
|
+
end
|
977
982
|
r = [:row]
|
978
983
|
ds.each_with_index do |d, i|
|
979
984
|
r << [vars[i], d] if d
|
@@ -2325,6 +2330,8 @@ module SPARQL::Grammar
|
|
2325
2330
|
|
2326
2331
|
def ns(prefix, suffix)
|
2327
2332
|
base = prefix(prefix).to_s
|
2333
|
+
suffix = suffix.to_s.gsub(PN_LOCAL_ESC) {|esc| esc[1]} if
|
2334
|
+
suffix.to_s.match?(PN_LOCAL_ESC)
|
2328
2335
|
suffix = suffix.to_s.sub(/^\#/, "") if base.index("#")
|
2329
2336
|
debug {"ns(#{prefix.inspect}): base: '#{base}', suffix: '#{suffix}'"}
|
2330
2337
|
iri(base + suffix.to_s)
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sparql
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.3.
|
4
|
+
version: 3.3.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Gregg Kellogg
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2024-02-17 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rdf
|
@@ -45,14 +45,14 @@ dependencies:
|
|
45
45
|
requirements:
|
46
46
|
- - "~>"
|
47
47
|
- !ruby/object:Gem::Version
|
48
|
-
version: '2.
|
48
|
+
version: '2.5'
|
49
49
|
type: :runtime
|
50
50
|
prerelease: false
|
51
51
|
version_requirements: !ruby/object:Gem::Requirement
|
52
52
|
requirements:
|
53
53
|
- - "~>"
|
54
54
|
- !ruby/object:Gem::Version
|
55
|
-
version: '2.
|
55
|
+
version: '2.5'
|
56
56
|
- !ruby/object:Gem::Dependency
|
57
57
|
name: builder
|
58
58
|
requirement: !ruby/object:Gem::Requirement
|
@@ -93,14 +93,14 @@ dependencies:
|
|
93
93
|
requirements:
|
94
94
|
- - "~>"
|
95
95
|
- !ruby/object:Gem::Version
|
96
|
-
version: '
|
96
|
+
version: '2.0'
|
97
97
|
type: :runtime
|
98
98
|
prerelease: false
|
99
99
|
version_requirements: !ruby/object:Gem::Requirement
|
100
100
|
requirements:
|
101
101
|
- - "~>"
|
102
102
|
- !ruby/object:Gem::Version
|
103
|
-
version: '
|
103
|
+
version: '2.0'
|
104
104
|
- !ruby/object:Gem::Dependency
|
105
105
|
name: sparql-client
|
106
106
|
requirement: !ruby/object:Gem::Requirement
|
@@ -129,6 +129,20 @@ dependencies:
|
|
129
129
|
- - "~>"
|
130
130
|
- !ruby/object:Gem::Version
|
131
131
|
version: '3.3'
|
132
|
+
- !ruby/object:Gem::Dependency
|
133
|
+
name: getoptlong
|
134
|
+
requirement: !ruby/object:Gem::Requirement
|
135
|
+
requirements:
|
136
|
+
- - "~>"
|
137
|
+
- !ruby/object:Gem::Version
|
138
|
+
version: '0.2'
|
139
|
+
type: :development
|
140
|
+
prerelease: false
|
141
|
+
version_requirements: !ruby/object:Gem::Requirement
|
142
|
+
requirements:
|
143
|
+
- - "~>"
|
144
|
+
- !ruby/object:Gem::Version
|
145
|
+
version: '0.2'
|
132
146
|
- !ruby/object:Gem::Dependency
|
133
147
|
name: sinatra
|
134
148
|
requirement: !ruby/object:Gem::Requirement
|
@@ -443,7 +457,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
443
457
|
- !ruby/object:Gem::Version
|
444
458
|
version: '0'
|
445
459
|
requirements: []
|
446
|
-
rubygems_version: 3.
|
460
|
+
rubygems_version: 3.4.19
|
447
461
|
signing_key:
|
448
462
|
specification_version: 4
|
449
463
|
summary: SPARQL Query and Update library for Ruby.
|