sparql 3.2.1 → 3.2.3
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 +57 -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 +35 -7
- data/lib/sparql/algebra/extensions.rb +18 -18
- data/lib/sparql/algebra/operator/adjust.rb +69 -0
- data/lib/sparql/algebra/operator/bgp.rb +1 -1
- data/lib/sparql/algebra/operator/construct.rb +1 -1
- data/lib/sparql/algebra/operator/dataset.rb +10 -0
- data/lib/sparql/algebra/operator/day.rb +2 -2
- data/lib/sparql/algebra/operator/delete.rb +1 -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/extend.rb +32 -2
- data/lib/sparql/algebra/operator/group.rb +34 -6
- data/lib/sparql/algebra/operator/hours.rb +2 -2
- data/lib/sparql/algebra/operator/insert.rb +1 -1
- data/lib/sparql/algebra/operator/insert_data.rb +1 -1
- data/lib/sparql/algebra/operator/join.rb +3 -3
- data/lib/sparql/algebra/operator/left_join.rb +3 -3
- data/lib/sparql/algebra/operator/minus.rb +1 -1
- 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/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 +7 -5
- data/lib/sparql/algebra/operator/project.rb +42 -1
- data/lib/sparql/algebra/operator/seconds.rb +2 -2
- data/lib/sparql/algebra/operator/seq.rb +3 -3
- data/lib/sparql/algebra/operator/sequence.rb +10 -0
- data/lib/sparql/algebra/operator/subtract.rb +9 -5
- data/lib/sparql/algebra/operator/table.rb +11 -2
- 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/using.rb +2 -2
- data/lib/sparql/algebra/operator/year.rb +2 -2
- data/lib/sparql/algebra/operator.rb +27 -10
- data/lib/sparql/algebra/query.rb +5 -3
- data/lib/sparql/algebra.rb +22 -3
- data/lib/sparql/grammar/meta.rb +1367 -267
- data/lib/sparql/grammar/parser11.rb +826 -328
- 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 +39 -17
@@ -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.3
|
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: 2022-
|
12
|
+
date: 2022-05-05 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rdf
|
@@ -20,7 +20,7 @@ dependencies:
|
|
20
20
|
version: '3.2'
|
21
21
|
- - ">="
|
22
22
|
- !ruby/object:Gem::Version
|
23
|
-
version: 3.2.
|
23
|
+
version: 3.2.7
|
24
24
|
type: :runtime
|
25
25
|
prerelease: false
|
26
26
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -30,7 +30,7 @@ dependencies:
|
|
30
30
|
version: '3.2'
|
31
31
|
- - ">="
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: 3.2.
|
33
|
+
version: 3.2.7
|
34
34
|
- !ruby/object:Gem::Dependency
|
35
35
|
name: rdf-aggregate-repo
|
36
36
|
requirement: !ruby/object:Gem::Requirement
|
@@ -52,6 +52,9 @@ dependencies:
|
|
52
52
|
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '2.2'
|
55
|
+
- - ">="
|
56
|
+
- !ruby/object:Gem::Version
|
57
|
+
version: 2.3.1
|
55
58
|
type: :runtime
|
56
59
|
prerelease: false
|
57
60
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -59,6 +62,9 @@ dependencies:
|
|
59
62
|
- - "~>"
|
60
63
|
- !ruby/object:Gem::Version
|
61
64
|
version: '2.2'
|
65
|
+
- - ">="
|
66
|
+
- !ruby/object:Gem::Version
|
67
|
+
version: 2.3.1
|
62
68
|
- !ruby/object:Gem::Dependency
|
63
69
|
name: builder
|
64
70
|
requirement: !ruby/object:Gem::Requirement
|
@@ -79,14 +85,14 @@ dependencies:
|
|
79
85
|
requirements:
|
80
86
|
- - "~>"
|
81
87
|
- !ruby/object:Gem::Version
|
82
|
-
version: '1.
|
88
|
+
version: '1.5'
|
83
89
|
type: :runtime
|
84
90
|
prerelease: false
|
85
91
|
version_requirements: !ruby/object:Gem::Requirement
|
86
92
|
requirements:
|
87
93
|
- - "~>"
|
88
94
|
- !ruby/object:Gem::Version
|
89
|
-
version: '1.
|
95
|
+
version: '1.5'
|
90
96
|
- !ruby/object:Gem::Dependency
|
91
97
|
name: sxp
|
92
98
|
requirement: !ruby/object:Gem::Requirement
|
@@ -96,7 +102,7 @@ dependencies:
|
|
96
102
|
version: '1.2'
|
97
103
|
- - ">="
|
98
104
|
- !ruby/object:Gem::Version
|
99
|
-
version: 1.2.
|
105
|
+
version: 1.2.2
|
100
106
|
type: :runtime
|
101
107
|
prerelease: false
|
102
108
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -106,7 +112,7 @@ dependencies:
|
|
106
112
|
version: '1.2'
|
107
113
|
- - ">="
|
108
114
|
- !ruby/object:Gem::Version
|
109
|
-
version: 1.2.
|
115
|
+
version: 1.2.2
|
110
116
|
- !ruby/object:Gem::Dependency
|
111
117
|
name: sparql-client
|
112
118
|
requirement: !ruby/object:Gem::Requirement
|
@@ -114,6 +120,9 @@ dependencies:
|
|
114
120
|
- - "~>"
|
115
121
|
- !ruby/object:Gem::Version
|
116
122
|
version: '3.2'
|
123
|
+
- - ">="
|
124
|
+
- !ruby/object:Gem::Version
|
125
|
+
version: 3.2.1
|
117
126
|
type: :runtime
|
118
127
|
prerelease: false
|
119
128
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -121,6 +130,9 @@ dependencies:
|
|
121
130
|
- - "~>"
|
122
131
|
- !ruby/object:Gem::Version
|
123
132
|
version: '3.2'
|
133
|
+
- - ">="
|
134
|
+
- !ruby/object:Gem::Version
|
135
|
+
version: 3.2.1
|
124
136
|
- !ruby/object:Gem::Dependency
|
125
137
|
name: rdf-xsd
|
126
138
|
requirement: !ruby/object:Gem::Requirement
|
@@ -141,14 +153,14 @@ dependencies:
|
|
141
153
|
requirements:
|
142
154
|
- - "~>"
|
143
155
|
- !ruby/object:Gem::Version
|
144
|
-
version: '2.
|
156
|
+
version: '2.2'
|
145
157
|
type: :development
|
146
158
|
prerelease: false
|
147
159
|
version_requirements: !ruby/object:Gem::Requirement
|
148
160
|
requirements:
|
149
161
|
- - "~>"
|
150
162
|
- !ruby/object:Gem::Version
|
151
|
-
version: '2.
|
163
|
+
version: '2.2'
|
152
164
|
- !ruby/object:Gem::Dependency
|
153
165
|
name: rack
|
154
166
|
requirement: !ruby/object:Gem::Requirement
|
@@ -197,42 +209,42 @@ dependencies:
|
|
197
209
|
requirements:
|
198
210
|
- - "~>"
|
199
211
|
- !ruby/object:Gem::Version
|
200
|
-
version: '3.
|
212
|
+
version: '3.2'
|
201
213
|
type: :development
|
202
214
|
prerelease: false
|
203
215
|
version_requirements: !ruby/object:Gem::Requirement
|
204
216
|
requirements:
|
205
217
|
- - "~>"
|
206
218
|
- !ruby/object:Gem::Version
|
207
|
-
version: '3.
|
219
|
+
version: '3.2'
|
208
220
|
- !ruby/object:Gem::Dependency
|
209
221
|
name: rspec
|
210
222
|
requirement: !ruby/object:Gem::Requirement
|
211
223
|
requirements:
|
212
224
|
- - "~>"
|
213
225
|
- !ruby/object:Gem::Version
|
214
|
-
version: '3.
|
226
|
+
version: '3.11'
|
215
227
|
type: :development
|
216
228
|
prerelease: false
|
217
229
|
version_requirements: !ruby/object:Gem::Requirement
|
218
230
|
requirements:
|
219
231
|
- - "~>"
|
220
232
|
- !ruby/object:Gem::Version
|
221
|
-
version: '3.
|
233
|
+
version: '3.11'
|
222
234
|
- !ruby/object:Gem::Dependency
|
223
235
|
name: rspec-its
|
224
236
|
requirement: !ruby/object:Gem::Requirement
|
225
237
|
requirements:
|
226
238
|
- - "~>"
|
227
239
|
- !ruby/object:Gem::Version
|
228
|
-
version: '1.
|
240
|
+
version: '1.3'
|
229
241
|
type: :development
|
230
242
|
prerelease: false
|
231
243
|
version_requirements: !ruby/object:Gem::Requirement
|
232
244
|
requirements:
|
233
245
|
- - "~>"
|
234
246
|
- !ruby/object:Gem::Version
|
235
|
-
version: '1.
|
247
|
+
version: '1.3'
|
236
248
|
- !ruby/object:Gem::Dependency
|
237
249
|
name: yard
|
238
250
|
requirement: !ruby/object:Gem::Requirement
|
@@ -274,6 +286,7 @@ files:
|
|
274
286
|
- lib/sparql/algebra/operator.rb
|
275
287
|
- lib/sparql/algebra/operator/abs.rb
|
276
288
|
- lib/sparql/algebra/operator/add.rb
|
289
|
+
- lib/sparql/algebra/operator/adjust.rb
|
277
290
|
- lib/sparql/algebra/operator/alt.rb
|
278
291
|
- lib/sparql/algebra/operator/and.rb
|
279
292
|
- lib/sparql/algebra/operator/asc.rb
|
@@ -358,7 +371,9 @@ files:
|
|
358
371
|
- lib/sparql/algebra/operator/path.rb
|
359
372
|
- lib/sparql/algebra/operator/path_opt.rb
|
360
373
|
- lib/sparql/algebra/operator/path_plus.rb
|
374
|
+
- lib/sparql/algebra/operator/path_range.rb
|
361
375
|
- lib/sparql/algebra/operator/path_star.rb
|
376
|
+
- lib/sparql/algebra/operator/path_zero.rb
|
362
377
|
- lib/sparql/algebra/operator/plus.rb
|
363
378
|
- lib/sparql/algebra/operator/predicate.rb
|
364
379
|
- lib/sparql/algebra/operator/prefix.rb
|
@@ -394,6 +409,7 @@ files:
|
|
394
409
|
- lib/sparql/algebra/operator/sum.rb
|
395
410
|
- lib/sparql/algebra/operator/table.rb
|
396
411
|
- lib/sparql/algebra/operator/timezone.rb
|
412
|
+
- lib/sparql/algebra/operator/triple.rb
|
397
413
|
- lib/sparql/algebra/operator/tz.rb
|
398
414
|
- lib/sparql/algebra/operator/ucase.rb
|
399
415
|
- lib/sparql/algebra/operator/union.rb
|
@@ -412,11 +428,17 @@ files:
|
|
412
428
|
- lib/sparql/grammar/parser11.rb
|
413
429
|
- lib/sparql/grammar/terminals11.rb
|
414
430
|
- lib/sparql/results.rb
|
431
|
+
- lib/sparql/server.rb
|
415
432
|
- lib/sparql/version.rb
|
416
433
|
homepage: https://github.com/ruby-rdf/sparql
|
417
434
|
licenses:
|
418
435
|
- Unlicense
|
419
|
-
metadata:
|
436
|
+
metadata:
|
437
|
+
documentation_uri: https://ruby-rdf.github.io/sparql
|
438
|
+
bug_tracker_uri: https://github.com/ruby-rdf/sparql/issues
|
439
|
+
homepage_uri: https://github.com/ruby-rdf/sparql
|
440
|
+
mailing_list_uri: https://lists.w3.org/Archives/Public/public-rdf-ruby/
|
441
|
+
source_code_uri: https://github.com/ruby-rdf/sparql
|
420
442
|
post_install_message:
|
421
443
|
rdoc_options: []
|
422
444
|
require_paths:
|