sparql 3.2.6 → 3.3.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 10f53a717082f7b94d3e9d207a3cddbd944c15ab7715c551c9a39af6699c77f0
4
- data.tar.gz: 447bd2c05cb834d81d8e17e8e50eee8b5c972dc116422420b6b742c84a08fe56
3
+ metadata.gz: 04020d0f2d52ea9619dc58bf25c0660f62469e492cbf32893345cea0f888bc06
4
+ data.tar.gz: f6f982cfcc78222576f741b77bd4665e58f922641906ee8d66ca370063713752
5
5
  SHA512:
6
- metadata.gz: 18c39a3cb233107b4e0c888039e3888ac53eb2982ba2379c126fd777a1ac0834f1c8d50f49fb5a8b081e60781e2f711a6a1f232b5fc394f82b159dd3db5a183b
7
- data.tar.gz: f206bd6d67b100c2cab74a1e5185cdd393c3fe1eb7529a71e14ffd8d4255064b5d0f97563487f00dbb45126dc87d7eba5953816347d30f89860a62d0c6d538d2
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 >= 2.6.
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
 
@@ -308,7 +308,7 @@ a full set of RDF formats.
308
308
  ### Command line processing
309
309
 
310
310
  sparql execute --dataset etc/doap.ttl etc/from_default.rq
311
- sparql execute -e "SELECT * FROM <etc/doap.ttl> WHERE { ?s ?p ?o }"
311
+ sparql execute --dataset etc/doap.ttl -e "SELECT * FROM <etc/doap.ttl> WHERE { ?s ?p ?o }"
312
312
 
313
313
  # Generate SPARQL Algebra Expression (SSE) format
314
314
  sparql parse etc/input.rq
@@ -316,7 +316,7 @@ a full set of RDF formats.
316
316
 
317
317
  # Generate SPARQL Query from SSE
318
318
  sparql parse --sse etc/input.sse --format sparql
319
- sparql parse --sse --format sparql -e "(dataset (<http://usefulinc.com/ns/doap>) (bgp (triple ?s ?p ?o))))"
319
+ sparql parse --sse --format sparql -e "(dataset (<etc/doap.ttl>) (bgp (triple ?s ?p ?o))))"
320
320
 
321
321
  # Run query using SSE input
322
322
  sparql execute --dataset etc/doap.ttl --sse etc/input.sse
@@ -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}
@@ -397,14 +401,14 @@ Full documentation available on [Rubydoc.info][SPARQL doc]
397
401
 
398
402
  ## Dependencies
399
403
 
400
- * [Ruby](https://ruby-lang.org/) (>= 2.6)
401
- * [RDF.rb](https://rubygems.org/gems/rdf) (~> 3.2)
402
- * [SPARQL::Client](https://rubygems.org/gems/sparql-client) (~> 3.1)
403
- * [SXP](https://rubygems.org/gems/sxp) (~> 1.2)
404
+ * [Ruby](https://ruby-lang.org/) (>= 3.0)
405
+ * [RDF.rb](https://rubygems.org/gems/rdf) (~> 3.3)
406
+ * [SPARQL::Client](https://rubygems.org/gems/sparql-client) (~> 3.3)
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
- * Soft dependency on [Linked Data][] (>= 3.1)
407
- * Soft dependency on [Nokogiri](https://rubygems.org/gems/nokogiri) (~> 1.12)
410
+ * Soft dependency on [Linked Data][] (>= 3.3)
411
+ * Soft dependency on [Nokogiri](https://rubygems.org/gems/nokogiri) (~> 1.15)
408
412
  Falls back to REXML for XML parsing Builder for XML serializing. Nokogiri is much more efficient
409
413
  * Soft dependency on [Equivalent XML](https://rubygems.org/gems/equivalent-xml) (>= 0.6)
410
414
  Equivalent XML performs more efficient comparisons of XML Literals when Nokogiri is included
data/VERSION CHANGED
@@ -1 +1 @@
1
- 3.2.6
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.2.6
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: 2023-07-23 00:00:00.000000000 Z
12
+ date: 2024-02-17 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rdf
@@ -17,60 +17,42 @@ dependencies:
17
17
  requirements:
18
18
  - - "~>"
19
19
  - !ruby/object:Gem::Version
20
- version: '3.2'
21
- - - ">="
22
- - !ruby/object:Gem::Version
23
- version: 3.2.11
20
+ version: '3.3'
24
21
  type: :runtime
25
22
  prerelease: false
26
23
  version_requirements: !ruby/object:Gem::Requirement
27
24
  requirements:
28
25
  - - "~>"
29
26
  - !ruby/object:Gem::Version
30
- version: '3.2'
31
- - - ">="
32
- - !ruby/object:Gem::Version
33
- version: 3.2.11
27
+ version: '3.3'
34
28
  - !ruby/object:Gem::Dependency
35
29
  name: rdf-aggregate-repo
36
30
  requirement: !ruby/object:Gem::Requirement
37
31
  requirements:
38
32
  - - "~>"
39
33
  - !ruby/object:Gem::Version
40
- version: '3.2'
41
- - - ">="
42
- - !ruby/object:Gem::Version
43
- version: 3.2.1
34
+ version: '3.3'
44
35
  type: :runtime
45
36
  prerelease: false
46
37
  version_requirements: !ruby/object:Gem::Requirement
47
38
  requirements:
48
39
  - - "~>"
49
40
  - !ruby/object:Gem::Version
50
- version: '3.2'
51
- - - ">="
52
- - !ruby/object:Gem::Version
53
- version: 3.2.1
41
+ version: '3.3'
54
42
  - !ruby/object:Gem::Dependency
55
43
  name: ebnf
56
44
  requirement: !ruby/object:Gem::Requirement
57
45
  requirements:
58
46
  - - "~>"
59
47
  - !ruby/object:Gem::Version
60
- version: '2.3'
61
- - - ">="
62
- - !ruby/object:Gem::Version
63
- version: 2.3.5
48
+ version: '2.5'
64
49
  type: :runtime
65
50
  prerelease: false
66
51
  version_requirements: !ruby/object:Gem::Requirement
67
52
  requirements:
68
53
  - - "~>"
69
54
  - !ruby/object:Gem::Version
70
- version: '2.3'
71
- - - ">="
72
- - !ruby/object:Gem::Version
73
- version: 2.3.5
55
+ version: '2.5'
74
56
  - !ruby/object:Gem::Dependency
75
57
  name: builder
76
58
  requirement: !ruby/object:Gem::Requirement
@@ -111,74 +93,70 @@ dependencies:
111
93
  requirements:
112
94
  - - "~>"
113
95
  - !ruby/object:Gem::Version
114
- version: '1.2'
115
- - - ">="
116
- - !ruby/object:Gem::Version
117
- version: 1.2.4
96
+ version: '2.0'
118
97
  type: :runtime
119
98
  prerelease: false
120
99
  version_requirements: !ruby/object:Gem::Requirement
121
100
  requirements:
122
101
  - - "~>"
123
102
  - !ruby/object:Gem::Version
124
- version: '1.2'
125
- - - ">="
126
- - !ruby/object:Gem::Version
127
- version: 1.2.4
103
+ version: '2.0'
128
104
  - !ruby/object:Gem::Dependency
129
105
  name: sparql-client
130
106
  requirement: !ruby/object:Gem::Requirement
131
107
  requirements:
132
108
  - - "~>"
133
109
  - !ruby/object:Gem::Version
134
- version: '3.2'
135
- - - ">="
136
- - !ruby/object:Gem::Version
137
- version: 3.2.2
110
+ version: '3.3'
138
111
  type: :runtime
139
112
  prerelease: false
140
113
  version_requirements: !ruby/object:Gem::Requirement
141
114
  requirements:
142
115
  - - "~>"
143
116
  - !ruby/object:Gem::Version
144
- version: '3.2'
145
- - - ">="
146
- - !ruby/object:Gem::Version
147
- version: 3.2.2
117
+ version: '3.3'
148
118
  - !ruby/object:Gem::Dependency
149
119
  name: rdf-xsd
150
120
  requirement: !ruby/object:Gem::Requirement
151
121
  requirements:
152
122
  - - "~>"
153
123
  - !ruby/object:Gem::Version
154
- version: '3.2'
124
+ version: '3.3'
155
125
  type: :runtime
156
126
  prerelease: false
157
127
  version_requirements: !ruby/object:Gem::Requirement
158
128
  requirements:
159
129
  - - "~>"
160
130
  - !ruby/object:Gem::Version
161
- version: '3.2'
131
+ version: '3.3'
162
132
  - !ruby/object:Gem::Dependency
163
- name: sinatra
133
+ name: getoptlong
164
134
  requirement: !ruby/object:Gem::Requirement
165
135
  requirements:
166
136
  - - "~>"
167
137
  - !ruby/object:Gem::Version
168
- version: '3.0'
169
- - - ">="
170
- - !ruby/object:Gem::Version
171
- version: 3.0.5
138
+ version: '0.2'
172
139
  type: :development
173
140
  prerelease: false
174
141
  version_requirements: !ruby/object:Gem::Requirement
175
142
  requirements:
176
143
  - - "~>"
177
144
  - !ruby/object:Gem::Version
178
- version: '3.0'
179
- - - ">="
145
+ version: '0.2'
146
+ - !ruby/object:Gem::Dependency
147
+ name: sinatra
148
+ requirement: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - "~>"
180
151
  - !ruby/object:Gem::Version
181
- version: 3.0.5
152
+ version: '3.1'
153
+ type: :development
154
+ prerelease: false
155
+ version_requirements: !ruby/object:Gem::Requirement
156
+ requirements:
157
+ - - "~>"
158
+ - !ruby/object:Gem::Version
159
+ version: '3.1'
182
160
  - !ruby/object:Gem::Dependency
183
161
  name: rack
184
162
  requirement: !ruby/object:Gem::Requirement
@@ -219,28 +197,28 @@ dependencies:
219
197
  requirements:
220
198
  - - "~>"
221
199
  - !ruby/object:Gem::Version
222
- version: '3.2'
200
+ version: '3.3'
223
201
  type: :development
224
202
  prerelease: false
225
203
  version_requirements: !ruby/object:Gem::Requirement
226
204
  requirements:
227
205
  - - "~>"
228
206
  - !ruby/object:Gem::Version
229
- version: '3.2'
207
+ version: '3.3'
230
208
  - !ruby/object:Gem::Dependency
231
209
  name: linkeddata
232
210
  requirement: !ruby/object:Gem::Requirement
233
211
  requirements:
234
- - - "~>"
212
+ - - ">="
235
213
  - !ruby/object:Gem::Version
236
- version: '3.2'
214
+ version: '0'
237
215
  type: :development
238
216
  prerelease: false
239
217
  version_requirements: !ruby/object:Gem::Requirement
240
218
  requirements:
241
- - - "~>"
219
+ - - ">="
242
220
  - !ruby/object:Gem::Version
243
- version: '3.2'
221
+ version: '0'
244
222
  - !ruby/object:Gem::Dependency
245
223
  name: rspec
246
224
  requirement: !ruby/object:Gem::Requirement
@@ -472,14 +450,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
472
450
  requirements:
473
451
  - - ">="
474
452
  - !ruby/object:Gem::Version
475
- version: '2.6'
453
+ version: '3.0'
476
454
  required_rubygems_version: !ruby/object:Gem::Requirement
477
455
  requirements:
478
456
  - - ">="
479
457
  - !ruby/object:Gem::Version
480
458
  version: '0'
481
459
  requirements: []
482
- rubygems_version: 3.4.13
460
+ rubygems_version: 3.4.19
483
461
  signing_key:
484
462
  specification_version: 4
485
463
  summary: SPARQL Query and Update library for Ruby.