sparql 3.2.5 → 3.3.0
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 +8 -8
- data/VERSION +1 -1
- data/lib/sparql/algebra/operator/group.rb +3 -3
- data/lib/sparql/grammar/parser11.rb +2 -2
- metadata +42 -54
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ead530e69a39c8dc1e436580c1e77360f5fdf141a9eaf8c07f8ca55be17c9ca2
|
4
|
+
data.tar.gz: d4b59bb569ea2baffb9be7196208f727ad21befe4cd3274a8347703f92d1aa0d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ce81b4e2b4cf51d605feea78a09f31c923a5dc0ac7ca2d59fbff9274f1912c847e05d6dbd8b77f1d21f7e05acfaf3cd83372bf77c33ffd04559ef213629182fb
|
7
|
+
data.tar.gz: fd507ab24315f5c637cee2dc88ff7729264c1d26f6557214ab861065e0fef5ec3728121bb8ddbc0f608e5f6c62781fb32e0dae1c5367bf9690c29c1cf36afc9d
|
data/README.md
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
An implementation of [SPARQL][] for [RDF.rb][].
|
4
4
|
|
5
|
-
[](https://badge.fury.io/rb/sparql)
|
6
6
|
[](https://github.com/ruby-rdf/sparql/actions?query=workflow%3ACI)
|
7
7
|
[](https://coveralls.io/r/ruby-rdf/sparql?branch=develop)
|
8
8
|
[](https://gitter.im/ruby-rdf/rdf)
|
@@ -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 (<
|
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
|
@@ -397,14 +397,14 @@ Full documentation available on [Rubydoc.info][SPARQL doc]
|
|
397
397
|
|
398
398
|
## Dependencies
|
399
399
|
|
400
|
-
* [Ruby](https://ruby-lang.org/) (>=
|
401
|
-
* [RDF.rb](https://rubygems.org/gems/rdf) (~> 3.
|
402
|
-
* [SPARQL::Client](https://rubygems.org/gems/sparql-client) (~> 3.
|
400
|
+
* [Ruby](https://ruby-lang.org/) (>= 3.0)
|
401
|
+
* [RDF.rb](https://rubygems.org/gems/rdf) (~> 3.3)
|
402
|
+
* [SPARQL::Client](https://rubygems.org/gems/sparql-client) (~> 3.3)
|
403
403
|
* [SXP](https://rubygems.org/gems/sxp) (~> 1.2)
|
404
404
|
* [Builder](https://rubygems.org/gems/builder) (~> 3.2)
|
405
405
|
* [JSON](https://rubygems.org/gems/json) (~> 2.6)
|
406
|
-
* Soft dependency on [Linked Data][] (>= 3.
|
407
|
-
* Soft dependency on [Nokogiri](https://rubygems.org/gems/nokogiri) (~> 1.
|
406
|
+
* Soft dependency on [Linked Data][] (>= 3.3)
|
407
|
+
* Soft dependency on [Nokogiri](https://rubygems.org/gems/nokogiri) (~> 1.15)
|
408
408
|
Falls back to REXML for XML parsing Builder for XML serializing. Nokogiri is much more efficient
|
409
409
|
* Soft dependency on [Equivalent XML](https://rubygems.org/gems/equivalent-xml) (>= 0.6)
|
410
410
|
Equivalent XML performs more efficient comparisons of XML Literals when Nokogiri is included
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
3.
|
1
|
+
3.3.0
|
@@ -35,10 +35,10 @@ module SPARQL; module Algebra
|
|
35
35
|
# @example SSE (HAVING aggregate)
|
36
36
|
# (prefix ((: <http://www.example.org/>))
|
37
37
|
# (project (?s ?avg)
|
38
|
-
# (filter (<= ??.
|
38
|
+
# (filter (<= ??.1 2.0)
|
39
39
|
# (extend ((?avg ??.0))
|
40
|
-
# (group (?s) ((??.0 (avg ?o)))
|
41
|
-
# (bgp (triple ?s ?p ?o))))))
|
40
|
+
# (group (?s) ((??.0 (avg ?o)) (??.1 (avg ?o)))
|
41
|
+
# (bgp (triple ?s ?p ?o)))))))
|
42
42
|
#
|
43
43
|
# @example SPARQL Grammar (non-trivial filters)
|
44
44
|
# PREFIX : <http://example.com/data/#>
|
@@ -1610,7 +1610,7 @@ module SPARQL::Grammar
|
|
1610
1610
|
if data[:_Compare_Numeric]
|
1611
1611
|
add_prod_datum(:Expression, SPARQL::Algebra::Expression.for(data[:_Compare_Numeric].insert(1, *data[:Expression])))
|
1612
1612
|
elsif data[:in]
|
1613
|
-
expr = (data[:Expression] + data[:in]).reject {|v| v.
|
1613
|
+
expr = (data[:Expression] + data[:in]).reject {|v| v.eql?(RDF.nil)}
|
1614
1614
|
add_prod_datum(:Expression, SPARQL::Algebra::Expression.for(expr.unshift(:in)))
|
1615
1615
|
elsif data[:notin]
|
1616
1616
|
expr = (data[:Expression] + data[:notin]).reject {|v| v.equal?(RDF.nil)}
|
@@ -2452,7 +2452,7 @@ module SPARQL::Grammar
|
|
2452
2452
|
|
2453
2453
|
# Replace aggregates in expr as above
|
2454
2454
|
expr.replace_aggregate! do |function|
|
2455
|
-
if avf = aggregates.detect {|(_, f)| f
|
2455
|
+
if avf = aggregates.detect {|(_, f)| f.equal?(function)}
|
2456
2456
|
avf.first
|
2457
2457
|
else
|
2458
2458
|
# Allocate a temporary variable for this function, and retain the mapping for outside the group
|
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.
|
4
|
+
version: 3.3.0
|
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-
|
12
|
+
date: 2023-08-26 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rdf
|
@@ -17,54 +17,42 @@ dependencies:
|
|
17
17
|
requirements:
|
18
18
|
- - "~>"
|
19
19
|
- !ruby/object:Gem::Version
|
20
|
-
version: '3.
|
21
|
-
- - ">="
|
22
|
-
- !ruby/object:Gem::Version
|
23
|
-
version: 3.2.8
|
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.
|
31
|
-
- - ">="
|
32
|
-
- !ruby/object:Gem::Version
|
33
|
-
version: 3.2.8
|
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.
|
34
|
+
version: '3.3'
|
41
35
|
type: :runtime
|
42
36
|
prerelease: false
|
43
37
|
version_requirements: !ruby/object:Gem::Requirement
|
44
38
|
requirements:
|
45
39
|
- - "~>"
|
46
40
|
- !ruby/object:Gem::Version
|
47
|
-
version: '3.
|
41
|
+
version: '3.3'
|
48
42
|
- !ruby/object:Gem::Dependency
|
49
43
|
name: ebnf
|
50
44
|
requirement: !ruby/object:Gem::Requirement
|
51
45
|
requirements:
|
52
46
|
- - "~>"
|
53
47
|
- !ruby/object:Gem::Version
|
54
|
-
version: '2.
|
55
|
-
- - ">="
|
56
|
-
- !ruby/object:Gem::Version
|
57
|
-
version: 2.3.1
|
48
|
+
version: '2.4'
|
58
49
|
type: :runtime
|
59
50
|
prerelease: false
|
60
51
|
version_requirements: !ruby/object:Gem::Requirement
|
61
52
|
requirements:
|
62
53
|
- - "~>"
|
63
54
|
- !ruby/object:Gem::Version
|
64
|
-
version: '2.
|
65
|
-
- - ">="
|
66
|
-
- !ruby/object:Gem::Version
|
67
|
-
version: 2.3.1
|
55
|
+
version: '2.4'
|
68
56
|
- !ruby/object:Gem::Dependency
|
69
57
|
name: builder
|
70
58
|
requirement: !ruby/object:Gem::Requirement
|
@@ -72,6 +60,9 @@ dependencies:
|
|
72
60
|
- - "~>"
|
73
61
|
- !ruby/object:Gem::Version
|
74
62
|
version: '3.2'
|
63
|
+
- - ">="
|
64
|
+
- !ruby/object:Gem::Version
|
65
|
+
version: 3.2.4
|
75
66
|
type: :runtime
|
76
67
|
prerelease: false
|
77
68
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -79,6 +70,9 @@ dependencies:
|
|
79
70
|
- - "~>"
|
80
71
|
- !ruby/object:Gem::Version
|
81
72
|
version: '3.2'
|
73
|
+
- - ">="
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: 3.2.4
|
82
76
|
- !ruby/object:Gem::Dependency
|
83
77
|
name: logger
|
84
78
|
requirement: !ruby/object:Gem::Requirement
|
@@ -99,138 +93,132 @@ dependencies:
|
|
99
93
|
requirements:
|
100
94
|
- - "~>"
|
101
95
|
- !ruby/object:Gem::Version
|
102
|
-
version: '1.
|
103
|
-
- - ">="
|
104
|
-
- !ruby/object:Gem::Version
|
105
|
-
version: 1.2.2
|
96
|
+
version: '1.3'
|
106
97
|
type: :runtime
|
107
98
|
prerelease: false
|
108
99
|
version_requirements: !ruby/object:Gem::Requirement
|
109
100
|
requirements:
|
110
101
|
- - "~>"
|
111
102
|
- !ruby/object:Gem::Version
|
112
|
-
version: '1.
|
113
|
-
- - ">="
|
114
|
-
- !ruby/object:Gem::Version
|
115
|
-
version: 1.2.2
|
103
|
+
version: '1.3'
|
116
104
|
- !ruby/object:Gem::Dependency
|
117
105
|
name: sparql-client
|
118
106
|
requirement: !ruby/object:Gem::Requirement
|
119
107
|
requirements:
|
120
108
|
- - "~>"
|
121
109
|
- !ruby/object:Gem::Version
|
122
|
-
version: '3.
|
123
|
-
- - ">="
|
124
|
-
- !ruby/object:Gem::Version
|
125
|
-
version: 3.2.1
|
110
|
+
version: '3.3'
|
126
111
|
type: :runtime
|
127
112
|
prerelease: false
|
128
113
|
version_requirements: !ruby/object:Gem::Requirement
|
129
114
|
requirements:
|
130
115
|
- - "~>"
|
131
116
|
- !ruby/object:Gem::Version
|
132
|
-
version: '3.
|
133
|
-
- - ">="
|
134
|
-
- !ruby/object:Gem::Version
|
135
|
-
version: 3.2.1
|
117
|
+
version: '3.3'
|
136
118
|
- !ruby/object:Gem::Dependency
|
137
119
|
name: rdf-xsd
|
138
120
|
requirement: !ruby/object:Gem::Requirement
|
139
121
|
requirements:
|
140
122
|
- - "~>"
|
141
123
|
- !ruby/object:Gem::Version
|
142
|
-
version: '3.
|
124
|
+
version: '3.3'
|
143
125
|
type: :runtime
|
144
126
|
prerelease: false
|
145
127
|
version_requirements: !ruby/object:Gem::Requirement
|
146
128
|
requirements:
|
147
129
|
- - "~>"
|
148
130
|
- !ruby/object:Gem::Version
|
149
|
-
version: '3.
|
131
|
+
version: '3.3'
|
150
132
|
- !ruby/object:Gem::Dependency
|
151
133
|
name: sinatra
|
152
134
|
requirement: !ruby/object:Gem::Requirement
|
153
135
|
requirements:
|
154
136
|
- - "~>"
|
155
137
|
- !ruby/object:Gem::Version
|
156
|
-
version: '
|
138
|
+
version: '3.1'
|
157
139
|
type: :development
|
158
140
|
prerelease: false
|
159
141
|
version_requirements: !ruby/object:Gem::Requirement
|
160
142
|
requirements:
|
161
143
|
- - "~>"
|
162
144
|
- !ruby/object:Gem::Version
|
163
|
-
version: '
|
145
|
+
version: '3.1'
|
164
146
|
- !ruby/object:Gem::Dependency
|
165
147
|
name: rack
|
166
148
|
requirement: !ruby/object:Gem::Requirement
|
167
149
|
requirements:
|
168
|
-
- - "
|
150
|
+
- - ">="
|
169
151
|
- !ruby/object:Gem::Version
|
170
152
|
version: '2.2'
|
153
|
+
- - "<"
|
154
|
+
- !ruby/object:Gem::Version
|
155
|
+
version: '4'
|
171
156
|
type: :development
|
172
157
|
prerelease: false
|
173
158
|
version_requirements: !ruby/object:Gem::Requirement
|
174
159
|
requirements:
|
175
|
-
- - "
|
160
|
+
- - ">="
|
176
161
|
- !ruby/object:Gem::Version
|
177
162
|
version: '2.2'
|
163
|
+
- - "<"
|
164
|
+
- !ruby/object:Gem::Version
|
165
|
+
version: '4'
|
178
166
|
- !ruby/object:Gem::Dependency
|
179
167
|
name: rack-test
|
180
168
|
requirement: !ruby/object:Gem::Requirement
|
181
169
|
requirements:
|
182
170
|
- - "~>"
|
183
171
|
- !ruby/object:Gem::Version
|
184
|
-
version: '
|
172
|
+
version: '2.1'
|
185
173
|
type: :development
|
186
174
|
prerelease: false
|
187
175
|
version_requirements: !ruby/object:Gem::Requirement
|
188
176
|
requirements:
|
189
177
|
- - "~>"
|
190
178
|
- !ruby/object:Gem::Version
|
191
|
-
version: '
|
179
|
+
version: '2.1'
|
192
180
|
- !ruby/object:Gem::Dependency
|
193
181
|
name: rdf-spec
|
194
182
|
requirement: !ruby/object:Gem::Requirement
|
195
183
|
requirements:
|
196
184
|
- - "~>"
|
197
185
|
- !ruby/object:Gem::Version
|
198
|
-
version: '3.
|
186
|
+
version: '3.3'
|
199
187
|
type: :development
|
200
188
|
prerelease: false
|
201
189
|
version_requirements: !ruby/object:Gem::Requirement
|
202
190
|
requirements:
|
203
191
|
- - "~>"
|
204
192
|
- !ruby/object:Gem::Version
|
205
|
-
version: '3.
|
193
|
+
version: '3.3'
|
206
194
|
- !ruby/object:Gem::Dependency
|
207
195
|
name: linkeddata
|
208
196
|
requirement: !ruby/object:Gem::Requirement
|
209
197
|
requirements:
|
210
|
-
- - "
|
198
|
+
- - ">="
|
211
199
|
- !ruby/object:Gem::Version
|
212
|
-
version: '
|
200
|
+
version: '0'
|
213
201
|
type: :development
|
214
202
|
prerelease: false
|
215
203
|
version_requirements: !ruby/object:Gem::Requirement
|
216
204
|
requirements:
|
217
|
-
- - "
|
205
|
+
- - ">="
|
218
206
|
- !ruby/object:Gem::Version
|
219
|
-
version: '
|
207
|
+
version: '0'
|
220
208
|
- !ruby/object:Gem::Dependency
|
221
209
|
name: rspec
|
222
210
|
requirement: !ruby/object:Gem::Requirement
|
223
211
|
requirements:
|
224
212
|
- - "~>"
|
225
213
|
- !ruby/object:Gem::Version
|
226
|
-
version: '3.
|
214
|
+
version: '3.12'
|
227
215
|
type: :development
|
228
216
|
prerelease: false
|
229
217
|
version_requirements: !ruby/object:Gem::Requirement
|
230
218
|
requirements:
|
231
219
|
- - "~>"
|
232
220
|
- !ruby/object:Gem::Version
|
233
|
-
version: '3.
|
221
|
+
version: '3.12'
|
234
222
|
- !ruby/object:Gem::Dependency
|
235
223
|
name: rspec-its
|
236
224
|
requirement: !ruby/object:Gem::Requirement
|
@@ -448,14 +436,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
448
436
|
requirements:
|
449
437
|
- - ">="
|
450
438
|
- !ruby/object:Gem::Version
|
451
|
-
version: '
|
439
|
+
version: '3.0'
|
452
440
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
453
441
|
requirements:
|
454
442
|
- - ">="
|
455
443
|
- !ruby/object:Gem::Version
|
456
444
|
version: '0'
|
457
445
|
requirements: []
|
458
|
-
rubygems_version: 3.
|
446
|
+
rubygems_version: 3.2.33
|
459
447
|
signing_key:
|
460
448
|
specification_version: 4
|
461
449
|
summary: SPARQL Query and Update library for Ruby.
|