sparql 3.2.0 → 3.2.4
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 +59 -38
- data/VERSION +1 -1
- data/bin/sparql +2 -31
- data/lib/rack/sparql/conneg.rb +22 -1
- data/lib/sinatra/sparql/extensions.rb +1 -1
- data/lib/sinatra/sparql.rb +57 -12
- data/lib/sparql/algebra/expression.rb +63 -10
- data/lib/sparql/algebra/extensions.rb +39 -35
- data/lib/sparql/algebra/operator/abs.rb +1 -1
- data/lib/sparql/algebra/operator/adjust.rb +69 -0
- data/lib/sparql/algebra/operator/alt.rb +1 -1
- data/lib/sparql/algebra/operator/avg.rb +3 -1
- data/lib/sparql/algebra/operator/bgp.rb +9 -1
- data/lib/sparql/algebra/operator/clear.rb +13 -3
- data/lib/sparql/algebra/operator/construct.rb +1 -1
- data/lib/sparql/algebra/operator/count.rb +36 -6
- data/lib/sparql/algebra/operator/create.rb +5 -4
- data/lib/sparql/algebra/operator/dataset.rb +29 -11
- data/lib/sparql/algebra/operator/day.rb +2 -2
- data/lib/sparql/algebra/operator/delete.rb +3 -1
- data/lib/sparql/algebra/operator/delete_data.rb +1 -1
- data/lib/sparql/algebra/operator/delete_where.rb +1 -1
- data/lib/sparql/algebra/operator/distinct.rb +2 -2
- data/lib/sparql/algebra/operator/divide.rb +1 -1
- data/lib/sparql/algebra/operator/drop.rb +15 -6
- data/lib/sparql/algebra/operator/encode_for_uri.rb +2 -4
- data/lib/sparql/algebra/operator/exprlist.rb +3 -1
- data/lib/sparql/algebra/operator/extend.rb +73 -5
- data/lib/sparql/algebra/operator/filter.rb +6 -1
- data/lib/sparql/algebra/operator/function_call.rb +64 -0
- data/lib/sparql/algebra/operator/graph.rb +57 -7
- data/lib/sparql/algebra/operator/group.rb +105 -6
- data/lib/sparql/algebra/operator/group_concat.rb +25 -1
- data/lib/sparql/algebra/operator/hours.rb +2 -2
- data/lib/sparql/algebra/operator/if.rb +10 -10
- data/lib/sparql/algebra/operator/insert.rb +3 -1
- data/lib/sparql/algebra/operator/insert_data.rb +1 -1
- data/lib/sparql/algebra/operator/is_blank.rb +1 -2
- data/lib/sparql/algebra/operator/is_iri.rb +1 -2
- data/lib/sparql/algebra/operator/is_literal.rb +1 -2
- data/lib/sparql/algebra/operator/is_numeric.rb +1 -2
- data/lib/sparql/algebra/operator/join.rb +39 -5
- data/lib/sparql/algebra/operator/lcase.rb +2 -3
- data/lib/sparql/algebra/operator/left_join.rb +27 -9
- data/lib/sparql/algebra/operator/max.rb +3 -1
- data/lib/sparql/algebra/operator/min.rb +4 -2
- data/lib/sparql/algebra/operator/minus.rb +46 -6
- data/lib/sparql/algebra/operator/minutes.rb +2 -2
- data/lib/sparql/algebra/operator/modify.rb +21 -0
- data/lib/sparql/algebra/operator/month.rb +2 -2
- data/lib/sparql/algebra/operator/multiply.rb +1 -1
- data/lib/sparql/algebra/operator/notoneof.rb +12 -3
- data/lib/sparql/algebra/operator/order.rb +44 -0
- data/lib/sparql/algebra/operator/path_opt.rb +9 -65
- data/lib/sparql/algebra/operator/path_plus.rb +18 -10
- data/lib/sparql/algebra/operator/path_range.rb +178 -0
- data/lib/sparql/algebra/operator/path_star.rb +7 -4
- data/lib/sparql/algebra/operator/path_zero.rb +110 -0
- data/lib/sparql/algebra/operator/plus.rb +8 -6
- data/lib/sparql/algebra/operator/project.rb +64 -5
- data/lib/sparql/algebra/operator/reduced.rb +3 -3
- data/lib/sparql/algebra/operator/regex.rb +1 -1
- data/lib/sparql/algebra/operator/reverse.rb +12 -1
- data/lib/sparql/algebra/operator/sample.rb +3 -1
- data/lib/sparql/algebra/operator/seconds.rb +2 -2
- data/lib/sparql/algebra/operator/seq.rb +4 -4
- data/lib/sparql/algebra/operator/sequence.rb +14 -1
- data/lib/sparql/algebra/operator/service.rb +86 -0
- data/lib/sparql/algebra/operator/strlang.rb +1 -2
- data/lib/sparql/algebra/operator/subtract.rb +10 -6
- data/lib/sparql/algebra/operator/sum.rb +9 -7
- data/lib/sparql/algebra/operator/table.rb +50 -7
- data/lib/sparql/algebra/operator/timezone.rb +2 -2
- data/lib/sparql/algebra/operator/triple.rb +51 -0
- data/lib/sparql/algebra/operator/tz.rb +2 -2
- data/lib/sparql/algebra/operator/ucase.rb +1 -1
- data/lib/sparql/algebra/operator/update.rb +22 -1
- data/lib/sparql/algebra/operator/using.rb +18 -1
- data/lib/sparql/algebra/operator/with.rb +1 -1
- data/lib/sparql/algebra/operator/year.rb +2 -2
- data/lib/sparql/algebra/operator.rb +69 -22
- data/lib/sparql/algebra/query.rb +5 -3
- data/lib/sparql/algebra.rb +42 -6
- data/lib/sparql/grammar/meta.rb +1367 -267
- data/lib/sparql/grammar/parser11.rb +842 -331
- data/lib/sparql/grammar/terminals11.rb +2 -2
- data/lib/sparql/grammar.rb +6 -4
- data/lib/sparql/results.rb +3 -2
- data/lib/sparql/server.rb +93 -0
- data/lib/sparql.rb +8 -5
- metadata +49 -13
@@ -91,7 +91,7 @@ module SPARQL::Grammar
|
|
91
91
|
ANON = /\[#{WS}*\]/m.freeze
|
92
92
|
|
93
93
|
# String terminals, case insensitive
|
94
|
-
STR_EXPR = %r(ABS|ADD|ALL|ASC|ASK|AS|AVG|BASE|BINDINGS|BIND
|
94
|
+
STR_EXPR = %r(ABS|ADD|ADJUST|ALL|ASC|ASK|AS|AVG|BASE|BINDINGS|BIND
|
95
95
|
|BNODE|BOUND|BY|CEIL|CLEAR|COALESCE|CONCAT
|
96
96
|
|CONSTRUCT|CONTAINS|COPY|COUNT|CREATE|DATATYPE|DAY
|
97
97
|
|DEFAULT|DELETE#{WS}DATA|DELETE#{WS}WHERE|DELETE
|
@@ -117,7 +117,7 @@ module SPARQL::Grammar
|
|
117
117
|
)xim.freeze
|
118
118
|
|
119
119
|
# Map terminals to canonical form
|
120
|
-
STR_MAP = (%w{ABS ADD ALL ASC ASK AS AVG BASE BINDINGS BIND
|
120
|
+
STR_MAP = (%w{ABS ADD ADJUST ALL ASC ASK AS AVG BASE BINDINGS BIND
|
121
121
|
BNODE BOUND BY CEIL CLEAR COALESCE CONCAT
|
122
122
|
CONSTRUCT CONTAINS COPY COUNT CREATE DATATYPE DAY
|
123
123
|
DEFAULT DELETE
|
data/lib/sparql/grammar.rb
CHANGED
@@ -184,7 +184,7 @@ module SPARQL
|
|
184
184
|
# (?age ?src)
|
185
185
|
# (bgp
|
186
186
|
# (triple ?bob foaf:name "Bob")
|
187
|
-
# (triple (
|
187
|
+
# (triple (qtriple ?bob foaf:age ?age) dct:source ?src)) ))
|
188
188
|
#
|
189
189
|
# SPARQL:
|
190
190
|
#
|
@@ -212,11 +212,11 @@ module SPARQL
|
|
212
212
|
# (construct
|
213
213
|
# (
|
214
214
|
# (triple ?bob foaf:name "Bob")
|
215
|
-
# (triple (
|
216
|
-
# (triple (
|
215
|
+
# (triple (qtriple ?bob foaf:age ?age) dct:creator <http://example.com/crawlers#c1>)
|
216
|
+
# (triple (qtriple ?bob foaf:age ?age) dct:source ?src))
|
217
217
|
# (bgp
|
218
218
|
# (triple ?bob foaf:name "Bob")
|
219
|
-
# (triple (
|
219
|
+
# (triple (qtriple ?bob foaf:age ?age) dct:source ?src)) ))
|
220
220
|
|
221
221
|
|
222
222
|
# ## Implementation Notes
|
@@ -248,6 +248,7 @@ module SPARQL
|
|
248
248
|
# Query may be an array of lexed tokens, a lexer, or a
|
249
249
|
# string or open file.
|
250
250
|
# @param [Hash{Symbol => Object}] options
|
251
|
+
# @option options (see SPARQL::Grammar::Parser#initialize)
|
251
252
|
# @return [Parser]
|
252
253
|
# @raise [Parser::Error] on invalid input
|
253
254
|
def self.parse(query, **options, &block)
|
@@ -261,6 +262,7 @@ module SPARQL
|
|
261
262
|
# @param [Hash{Symbol => Object}] options
|
262
263
|
# any additional options (see `RDF::Reader#initialize` and `RDF::Format.for`)
|
263
264
|
# @option options [Symbol] :format (:ntriples)
|
265
|
+
# @option options (see parse)
|
264
266
|
# @yield [reader]
|
265
267
|
# @yieldparam [RDF::Reader] reader
|
266
268
|
# @yieldreturn [void] ignored
|
data/lib/sparql/results.rb
CHANGED
@@ -10,7 +10,7 @@ module SPARQL
|
|
10
10
|
csv: 'text/csv',
|
11
11
|
tsv: 'text/tab-separated-values'
|
12
12
|
}
|
13
|
-
|
13
|
+
|
14
14
|
##
|
15
15
|
# Generate Solutions as JSON
|
16
16
|
# @return [String]
|
@@ -234,12 +234,13 @@ module SPARQL
|
|
234
234
|
case format
|
235
235
|
when :json
|
236
236
|
require 'json' unless defined?(::JSON)
|
237
|
-
{boolean: solutions}.to_json
|
237
|
+
{head: {}, boolean: solutions}.to_json
|
238
238
|
when :xml
|
239
239
|
require 'builder' unless defined?(::Builder)
|
240
240
|
xml = ::Builder::XmlMarkup.new(indent: 2)
|
241
241
|
xml.instruct!
|
242
242
|
xml.sparql(xmlns: "http://www.w3.org/2005/sparql-results#") do
|
243
|
+
xml.head
|
243
244
|
xml.boolean(solutions.to_s)
|
244
245
|
end
|
245
246
|
when :html
|
@@ -0,0 +1,93 @@
|
|
1
|
+
require 'sinatra/sparql'
|
2
|
+
|
3
|
+
module SPARQL
|
4
|
+
module Server
|
5
|
+
# A SPARQL Protocol and Graph Store server.
|
6
|
+
#
|
7
|
+
# Note, this is a trivial server and implementations may consider implementing integrating it into their own Rack or Sinatra server using {Rack::SPARQL} or {Sinatra::SPARQL}.
|
8
|
+
#
|
9
|
+
# Implements [SPARQL 1.1 Protocol](https://www.w3.org/TR/2013/REC-sparql11-protocol-20130321/)
|
10
|
+
# and [SPARQL 1.1 Graph Store HTTP Protocol](https://www.w3.org/TR/2013/REC-sparql11-http-rdf-update-20130321/).
|
11
|
+
#
|
12
|
+
# Protocol-specified dataset parameters create a merged repository as described in {Sinatra::SPARQL::Helpers#dataset} and {SPARQL::Algebra::Operator::Dataset}.
|
13
|
+
#
|
14
|
+
# @param [RDF::Dataset] dataset (RDF::Repository.new)
|
15
|
+
# @param [Hash{Symbol => Object}] options
|
16
|
+
# @return [Sinatra::Base]
|
17
|
+
def application(dataset: RDF::Repository.new, **options)
|
18
|
+
Sinatra.new do
|
19
|
+
register Sinatra::SPARQL
|
20
|
+
set :repository, dataset
|
21
|
+
enable :logging
|
22
|
+
disable :raise_errors, :show_exceptions if settings.production?
|
23
|
+
|
24
|
+
mime_type :jsonld, "application/ld+json"
|
25
|
+
mime_type :normalize, "application/normalized+n-quads"
|
26
|
+
mime_type :sparql, "application/sparql-query"
|
27
|
+
mime_type :ttl, "text/turtle"
|
28
|
+
mime_type :sse, "application/sse+sparql-query"
|
29
|
+
|
30
|
+
configure :development, :test do
|
31
|
+
set :logging, 0
|
32
|
+
end
|
33
|
+
|
34
|
+
get '/' do
|
35
|
+
opts = params.inject({}) {|memo, (k,v)| memo.merge(k.to_sym => v)}
|
36
|
+
if opts[:query]
|
37
|
+
query = opts[:query]
|
38
|
+
halt 403, "Update not possible using GET" if opts[:update]
|
39
|
+
repo = dataset(logger: request.logger, **opts)
|
40
|
+
url = RDF::URI(request.url).tap {|u| u.query = nil}
|
41
|
+
query = begin
|
42
|
+
SPARQL.parse(query, base_uri: url)
|
43
|
+
rescue SPARQL::Grammar::Parser::Error => e
|
44
|
+
halt 400, "Error parsing query: #{e.message}"
|
45
|
+
end
|
46
|
+
res = query.execute(repo,
|
47
|
+
logger: request.logger,
|
48
|
+
**options.merge(opts))
|
49
|
+
res.is_a?(RDF::Literal::Boolean) ? [res] : res
|
50
|
+
elsif opts[:update]
|
51
|
+
halt 406, "Inappropriate update option using GET"
|
52
|
+
else
|
53
|
+
settings.sparql_options.replace(standard_prefixes: true)
|
54
|
+
settings.sparql_options.merge!(prefixes: {
|
55
|
+
ssd: "http://www.w3.org/ns/sparql-service-description#",
|
56
|
+
void: "http://rdfs.org/ns/void#"
|
57
|
+
})
|
58
|
+
repo = dataset(logger: request.logger, **options)
|
59
|
+
service_description(repo: repo, endpoint: url)
|
60
|
+
end
|
61
|
+
end
|
62
|
+
|
63
|
+
post '/' do
|
64
|
+
opts = params.inject({}) {|memo, (k,v)| memo.merge(k.to_sym => v)}
|
65
|
+
# Note, this depends on the Rack::SPARQL::ContentNegotiation middleware to rewrite application/x-www-form-urlencoded to be conformat with either application/sparql-query or application/sparql-update.
|
66
|
+
query = begin
|
67
|
+
update = case request.content_type
|
68
|
+
when %r(application/sparql-query) then false
|
69
|
+
when %r(application/sparql-update) then true
|
70
|
+
else
|
71
|
+
halt 406, "No query found for #{request.content_type}"
|
72
|
+
end
|
73
|
+
|
74
|
+
# XXX Rack always sets input to ASCII-8BIT
|
75
|
+
#unless request.body.external_encoding == Encoding::UTF_8
|
76
|
+
# halt 400, "improper body encoding: #{request.body.external_encoding}"
|
77
|
+
#end
|
78
|
+
SPARQL.parse(request.body, base_uri: url, update: update)
|
79
|
+
rescue SPARQL::Grammar::Parser::Error => e
|
80
|
+
halt 400, "Error parsing #{update ? 'update' : 'query'}: #{e.message}"
|
81
|
+
end
|
82
|
+
repo = dataset(logger: request.logger, **opts)
|
83
|
+
url = RDF::URI(request.url).tap {|u| u.query = nil}
|
84
|
+
res = query.execute(repo,
|
85
|
+
logger: request.logger,
|
86
|
+
**options.merge(opts))
|
87
|
+
res.is_a?(RDF::Literal::Boolean) ? [res] : res
|
88
|
+
end
|
89
|
+
end
|
90
|
+
end
|
91
|
+
module_function :application
|
92
|
+
end
|
93
|
+
end
|
data/lib/sparql.rb
CHANGED
@@ -10,6 +10,7 @@ module SPARQL
|
|
10
10
|
autoload :Algebra, 'sparql/algebra'
|
11
11
|
autoload :Grammar, 'sparql/grammar'
|
12
12
|
autoload :Results, 'sparql/results'
|
13
|
+
autoload :Server, 'sparql/server'
|
13
14
|
autoload :VERSION, 'sparql/version'
|
14
15
|
|
15
16
|
# @see https://rubygems-client
|
@@ -25,13 +26,14 @@ module SPARQL
|
|
25
26
|
# @param [Hash{Symbol => Object}] options
|
26
27
|
# @option options [Boolean] :update (false)
|
27
28
|
# Parse starting with UpdateUnit production, QueryUnit otherwise.
|
28
|
-
# @
|
29
|
+
# @option options (see SPARQL::Grammar::Parser#initialize)
|
30
|
+
# @return [RDF::Queryable]
|
29
31
|
# The resulting query may be executed against
|
30
32
|
# a `queryable` object such as an RDF::Graph
|
31
33
|
# or RDF::Repository.
|
32
|
-
# @raise [Parser::Error] on invalid input
|
34
|
+
# @raise [SPARQL::Grammar::Parser::Error] on invalid input
|
33
35
|
def self.parse(query, **options)
|
34
|
-
|
36
|
+
Grammar::Parser.new(query, **options).parse(options[:update] ? :UpdateUnit : :QueryUnit)
|
35
37
|
end
|
36
38
|
|
37
39
|
##
|
@@ -63,11 +65,12 @@ module SPARQL
|
|
63
65
|
# One or more URIs used to initialize a new instance of `queryable` in the default graph. One or more URIs used to initialize a new instance of `queryable` in the default graph.
|
64
66
|
# @option options [RDF::URI, String, Array<RDF::URI, String>] :named_graph_uri
|
65
67
|
# One or more URIs used to initialize the `queryable` as a named graph.
|
68
|
+
# @option options (see parse)
|
66
69
|
# @yield [solution]
|
67
70
|
# each matching solution, statement or boolean
|
68
71
|
# @yieldparam [RDF::Statement, RDF::Query::Solution, Boolean] solution
|
69
72
|
# @yieldreturn [void] ignored
|
70
|
-
# @return [RDF::Graph, Boolean, RDF::Query::Solutions
|
73
|
+
# @return [RDF::Graph, Boolean, RDF::Query::Solutions]
|
71
74
|
# Note, results may be used with {SPARQL.serialize_results} to obtain appropriate output encoding.
|
72
75
|
# @raise [SPARQL::MalformedQuery] on invalid input
|
73
76
|
def self.execute(query, queryable, **options, &block)
|
@@ -88,7 +91,7 @@ module SPARQL
|
|
88
91
|
queryable.load(uri, graph_name: uri)
|
89
92
|
end
|
90
93
|
end
|
91
|
-
query.execute(queryable, &block)
|
94
|
+
query.execute(queryable, **options, &block)
|
92
95
|
rescue SPARQL::Grammar::Parser::Error => e
|
93
96
|
raise MalformedQuery, e.message
|
94
97
|
rescue TypeError => e
|
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.
|
4
|
+
version: 3.2.4
|
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: 2022-06-07 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rdf
|
@@ -18,6 +18,9 @@ dependencies:
|
|
18
18
|
- - "~>"
|
19
19
|
- !ruby/object:Gem::Version
|
20
20
|
version: '3.2'
|
21
|
+
- - ">="
|
22
|
+
- !ruby/object:Gem::Version
|
23
|
+
version: 3.2.8
|
21
24
|
type: :runtime
|
22
25
|
prerelease: false
|
23
26
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -25,6 +28,9 @@ dependencies:
|
|
25
28
|
- - "~>"
|
26
29
|
- !ruby/object:Gem::Version
|
27
30
|
version: '3.2'
|
31
|
+
- - ">="
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: 3.2.8
|
28
34
|
- !ruby/object:Gem::Dependency
|
29
35
|
name: rdf-aggregate-repo
|
30
36
|
requirement: !ruby/object:Gem::Requirement
|
@@ -46,6 +52,9 @@ dependencies:
|
|
46
52
|
- - "~>"
|
47
53
|
- !ruby/object:Gem::Version
|
48
54
|
version: '2.2'
|
55
|
+
- - ">="
|
56
|
+
- !ruby/object:Gem::Version
|
57
|
+
version: 2.3.1
|
49
58
|
type: :runtime
|
50
59
|
prerelease: false
|
51
60
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -53,6 +62,9 @@ dependencies:
|
|
53
62
|
- - "~>"
|
54
63
|
- !ruby/object:Gem::Version
|
55
64
|
version: '2.2'
|
65
|
+
- - ">="
|
66
|
+
- !ruby/object:Gem::Version
|
67
|
+
version: 2.3.1
|
56
68
|
- !ruby/object:Gem::Dependency
|
57
69
|
name: builder
|
58
70
|
requirement: !ruby/object:Gem::Requirement
|
@@ -73,14 +85,14 @@ dependencies:
|
|
73
85
|
requirements:
|
74
86
|
- - "~>"
|
75
87
|
- !ruby/object:Gem::Version
|
76
|
-
version: '1.
|
88
|
+
version: '1.5'
|
77
89
|
type: :runtime
|
78
90
|
prerelease: false
|
79
91
|
version_requirements: !ruby/object:Gem::Requirement
|
80
92
|
requirements:
|
81
93
|
- - "~>"
|
82
94
|
- !ruby/object:Gem::Version
|
83
|
-
version: '1.
|
95
|
+
version: '1.5'
|
84
96
|
- !ruby/object:Gem::Dependency
|
85
97
|
name: sxp
|
86
98
|
requirement: !ruby/object:Gem::Requirement
|
@@ -88,6 +100,9 @@ dependencies:
|
|
88
100
|
- - "~>"
|
89
101
|
- !ruby/object:Gem::Version
|
90
102
|
version: '1.2'
|
103
|
+
- - ">="
|
104
|
+
- !ruby/object:Gem::Version
|
105
|
+
version: 1.2.2
|
91
106
|
type: :runtime
|
92
107
|
prerelease: false
|
93
108
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -95,6 +110,9 @@ dependencies:
|
|
95
110
|
- - "~>"
|
96
111
|
- !ruby/object:Gem::Version
|
97
112
|
version: '1.2'
|
113
|
+
- - ">="
|
114
|
+
- !ruby/object:Gem::Version
|
115
|
+
version: 1.2.2
|
98
116
|
- !ruby/object:Gem::Dependency
|
99
117
|
name: sparql-client
|
100
118
|
requirement: !ruby/object:Gem::Requirement
|
@@ -102,6 +120,9 @@ dependencies:
|
|
102
120
|
- - "~>"
|
103
121
|
- !ruby/object:Gem::Version
|
104
122
|
version: '3.2'
|
123
|
+
- - ">="
|
124
|
+
- !ruby/object:Gem::Version
|
125
|
+
version: 3.2.1
|
105
126
|
type: :runtime
|
106
127
|
prerelease: false
|
107
128
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -109,6 +130,9 @@ dependencies:
|
|
109
130
|
- - "~>"
|
110
131
|
- !ruby/object:Gem::Version
|
111
132
|
version: '3.2'
|
133
|
+
- - ">="
|
134
|
+
- !ruby/object:Gem::Version
|
135
|
+
version: 3.2.1
|
112
136
|
- !ruby/object:Gem::Dependency
|
113
137
|
name: rdf-xsd
|
114
138
|
requirement: !ruby/object:Gem::Requirement
|
@@ -129,14 +153,14 @@ dependencies:
|
|
129
153
|
requirements:
|
130
154
|
- - "~>"
|
131
155
|
- !ruby/object:Gem::Version
|
132
|
-
version: '2.
|
156
|
+
version: '2.2'
|
133
157
|
type: :development
|
134
158
|
prerelease: false
|
135
159
|
version_requirements: !ruby/object:Gem::Requirement
|
136
160
|
requirements:
|
137
161
|
- - "~>"
|
138
162
|
- !ruby/object:Gem::Version
|
139
|
-
version: '2.
|
163
|
+
version: '2.2'
|
140
164
|
- !ruby/object:Gem::Dependency
|
141
165
|
name: rack
|
142
166
|
requirement: !ruby/object:Gem::Requirement
|
@@ -185,42 +209,42 @@ dependencies:
|
|
185
209
|
requirements:
|
186
210
|
- - "~>"
|
187
211
|
- !ruby/object:Gem::Version
|
188
|
-
version: '3.
|
212
|
+
version: '3.2'
|
189
213
|
type: :development
|
190
214
|
prerelease: false
|
191
215
|
version_requirements: !ruby/object:Gem::Requirement
|
192
216
|
requirements:
|
193
217
|
- - "~>"
|
194
218
|
- !ruby/object:Gem::Version
|
195
|
-
version: '3.
|
219
|
+
version: '3.2'
|
196
220
|
- !ruby/object:Gem::Dependency
|
197
221
|
name: rspec
|
198
222
|
requirement: !ruby/object:Gem::Requirement
|
199
223
|
requirements:
|
200
224
|
- - "~>"
|
201
225
|
- !ruby/object:Gem::Version
|
202
|
-
version: '3.
|
226
|
+
version: '3.11'
|
203
227
|
type: :development
|
204
228
|
prerelease: false
|
205
229
|
version_requirements: !ruby/object:Gem::Requirement
|
206
230
|
requirements:
|
207
231
|
- - "~>"
|
208
232
|
- !ruby/object:Gem::Version
|
209
|
-
version: '3.
|
233
|
+
version: '3.11'
|
210
234
|
- !ruby/object:Gem::Dependency
|
211
235
|
name: rspec-its
|
212
236
|
requirement: !ruby/object:Gem::Requirement
|
213
237
|
requirements:
|
214
238
|
- - "~>"
|
215
239
|
- !ruby/object:Gem::Version
|
216
|
-
version: '1.
|
240
|
+
version: '1.3'
|
217
241
|
type: :development
|
218
242
|
prerelease: false
|
219
243
|
version_requirements: !ruby/object:Gem::Requirement
|
220
244
|
requirements:
|
221
245
|
- - "~>"
|
222
246
|
- !ruby/object:Gem::Version
|
223
|
-
version: '1.
|
247
|
+
version: '1.3'
|
224
248
|
- !ruby/object:Gem::Dependency
|
225
249
|
name: yard
|
226
250
|
requirement: !ruby/object:Gem::Requirement
|
@@ -262,6 +286,7 @@ files:
|
|
262
286
|
- lib/sparql/algebra/operator.rb
|
263
287
|
- lib/sparql/algebra/operator/abs.rb
|
264
288
|
- lib/sparql/algebra/operator/add.rb
|
289
|
+
- lib/sparql/algebra/operator/adjust.rb
|
265
290
|
- lib/sparql/algebra/operator/alt.rb
|
266
291
|
- lib/sparql/algebra/operator/and.rb
|
267
292
|
- lib/sparql/algebra/operator/asc.rb
|
@@ -299,6 +324,7 @@ files:
|
|
299
324
|
- lib/sparql/algebra/operator/extend.rb
|
300
325
|
- lib/sparql/algebra/operator/filter.rb
|
301
326
|
- lib/sparql/algebra/operator/floor.rb
|
327
|
+
- lib/sparql/algebra/operator/function_call.rb
|
302
328
|
- lib/sparql/algebra/operator/graph.rb
|
303
329
|
- lib/sparql/algebra/operator/greater_than.rb
|
304
330
|
- lib/sparql/algebra/operator/greater_than_or_equal.rb
|
@@ -345,7 +371,9 @@ files:
|
|
345
371
|
- lib/sparql/algebra/operator/path.rb
|
346
372
|
- lib/sparql/algebra/operator/path_opt.rb
|
347
373
|
- lib/sparql/algebra/operator/path_plus.rb
|
374
|
+
- lib/sparql/algebra/operator/path_range.rb
|
348
375
|
- lib/sparql/algebra/operator/path_star.rb
|
376
|
+
- lib/sparql/algebra/operator/path_zero.rb
|
349
377
|
- lib/sparql/algebra/operator/plus.rb
|
350
378
|
- lib/sparql/algebra/operator/predicate.rb
|
351
379
|
- lib/sparql/algebra/operator/prefix.rb
|
@@ -361,6 +389,7 @@ files:
|
|
361
389
|
- lib/sparql/algebra/operator/seconds.rb
|
362
390
|
- lib/sparql/algebra/operator/seq.rb
|
363
391
|
- lib/sparql/algebra/operator/sequence.rb
|
392
|
+
- lib/sparql/algebra/operator/service.rb
|
364
393
|
- lib/sparql/algebra/operator/sha1.rb
|
365
394
|
- lib/sparql/algebra/operator/sha256.rb
|
366
395
|
- lib/sparql/algebra/operator/sha384.rb
|
@@ -381,6 +410,7 @@ files:
|
|
381
410
|
- lib/sparql/algebra/operator/sum.rb
|
382
411
|
- lib/sparql/algebra/operator/table.rb
|
383
412
|
- lib/sparql/algebra/operator/timezone.rb
|
413
|
+
- lib/sparql/algebra/operator/triple.rb
|
384
414
|
- lib/sparql/algebra/operator/tz.rb
|
385
415
|
- lib/sparql/algebra/operator/ucase.rb
|
386
416
|
- lib/sparql/algebra/operator/union.rb
|
@@ -399,11 +429,17 @@ files:
|
|
399
429
|
- lib/sparql/grammar/parser11.rb
|
400
430
|
- lib/sparql/grammar/terminals11.rb
|
401
431
|
- lib/sparql/results.rb
|
432
|
+
- lib/sparql/server.rb
|
402
433
|
- lib/sparql/version.rb
|
403
434
|
homepage: https://github.com/ruby-rdf/sparql
|
404
435
|
licenses:
|
405
436
|
- Unlicense
|
406
|
-
metadata:
|
437
|
+
metadata:
|
438
|
+
documentation_uri: https://ruby-rdf.github.io/sparql
|
439
|
+
bug_tracker_uri: https://github.com/ruby-rdf/sparql/issues
|
440
|
+
homepage_uri: https://github.com/ruby-rdf/sparql
|
441
|
+
mailing_list_uri: https://lists.w3.org/Archives/Public/public-rdf-ruby/
|
442
|
+
source_code_uri: https://github.com/ruby-rdf/sparql
|
407
443
|
post_install_message:
|
408
444
|
rdoc_options: []
|
409
445
|
require_paths:
|