sparql-client 2.0.2 → 3.1.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.
@@ -1,4 +1,4 @@
1
- module SPARQL; class Client
1
+ class SPARQL::Client
2
2
  ##
3
3
  # A read-only repository view of a SPARQL endpoint.
4
4
  #
@@ -10,14 +10,13 @@ module SPARQL; class Client
10
10
  ##
11
11
  # @param [URI, #to_s] uri
12
12
  # Endpoint of this repository
13
- # @param [String, #to_s] title (nil)
14
13
  # @param [Hash{Symbol => Object}] options passed to RDF::Repository
15
14
  def initialize(uri: nil, **options, &block)
16
15
  raise ArgumentError, "uri is a required parameter" unless uri
17
16
  @options = options.merge(uri: uri)
18
- @update_client = SPARQL::Client.new(options.delete(:update_endpoint), options) if options[:update_endpoint]
19
- @client = SPARQL::Client.new(uri, options)
20
- super(@options, &block)
17
+ @update_client = SPARQL::Client.new(options.delete(:update_endpoint), **options) if options[:update_endpoint]
18
+ @client = SPARQL::Client.new(uri, **options)
19
+ super(**@options, &block)
21
20
  end
22
21
 
23
22
  ##
@@ -38,6 +37,30 @@ module SPARQL; class Client
38
37
  client.construct([:s, :p, :o]).where([:s, :p, :o]).each_statement(&block)
39
38
  end
40
39
 
40
+ ##
41
+ # Iterates the given block for each RDF statement.
42
+ #
43
+ # If no block was given, returns an enumerator.
44
+ #
45
+ # The order in which statements are yielded is undefined.
46
+ #
47
+ # @overload each_statement
48
+ # @yield [statement]
49
+ # each statement
50
+ # @yieldparam [RDF::Statement] statement
51
+ # @yieldreturn [void] ignored
52
+ # @return [void]
53
+ #
54
+ # @overload each_statement
55
+ # @return [Enumerator<RDF::Statement>]
56
+ def each_statement(&block)
57
+ if block_given?
58
+ # Invoke {#each} in the containing class:
59
+ each(&block)
60
+ end
61
+ enum_statement
62
+ end
63
+
41
64
  ##
42
65
  # @private
43
66
  # @see RDF::Enumerable#supports?
@@ -48,6 +71,7 @@ module SPARQL; class Client
48
71
  when :graph_name then false
49
72
  when :inference then false # forward-chaining inference
50
73
  when :validity then false
74
+ when :literal_equality then true
51
75
  else false
52
76
  end
53
77
  end
@@ -91,7 +115,7 @@ module SPARQL; class Client
91
115
  # @see RDF::Repository#each_subject?
92
116
  def each_subject(&block)
93
117
  if block_given?
94
- client.select(:s, :distinct => true).where([:s, :p, :o]).each_solution { |solution| block.call(solution[:s]) }
118
+ client.select(:s, distinct: true).where([:s, :p, :o]).each_solution { |solution| block.call(solution[:s]) }
95
119
  end
96
120
  enum_subject
97
121
  end
@@ -105,7 +129,7 @@ module SPARQL; class Client
105
129
  # @see RDF::Repository#each_predicate?
106
130
  def each_predicate(&block)
107
131
  if block_given?
108
- client.select(:p, :distinct => true).where([:s, :p, :o]).each_solution { |solution| block.call(solution[:p]) }
132
+ client.select(:p, distinct: true).where([:s, :p, :o]).each_solution { |solution| block.call(solution[:p]) }
109
133
  end
110
134
  enum_predicate
111
135
  end
@@ -119,7 +143,7 @@ module SPARQL; class Client
119
143
  # @see RDF::Repository#each_object?
120
144
  def each_object(&block)
121
145
  if block_given?
122
- client.select(:o, :distinct => true).where([:s, :p, :o]).each_solution { |solution| block.call(solution[:o]) }
146
+ client.select(:o, distinct: true).where([:s, :p, :o]).each_solution { |solution| block.call(solution[:o]) }
123
147
  end
124
148
  enum_object
125
149
  end
@@ -151,7 +175,7 @@ module SPARQL; class Client
151
175
  # @see RDF::Repository#count?
152
176
  def count
153
177
  begin
154
- binding = client.query("SELECT (COUNT(*) AS ?count) WHERE { ?s ?p ?o }").first.to_hash
178
+ binding = client.query("SELECT (COUNT(*) AS ?count) WHERE { ?s ?p ?o }").first.to_h
155
179
  binding[:count].value.to_i rescue 0
156
180
  rescue SPARQL::Client::MalformedQuery => e
157
181
  # SPARQL 1.0 does not include support for aggregate functions:
@@ -238,10 +262,10 @@ module SPARQL; class Client
238
262
  # @return [void] ignored
239
263
  # @see RDF::Queryable#query
240
264
  # @see RDF::Query#execute
241
- def query_execute(query, options = {}, &block)
265
+ def query_execute(query, **options, &block)
242
266
  return nil unless block_given?
243
- q = SPARQL::Client::Query.select(query.variables).where(*query.patterns)
244
- client.query(q, options).each do |solution|
267
+ q = SPARQL::Client::Query.select(query.variables, **{}).where(*query.patterns)
268
+ client.query(q, **options).each do |solution|
245
269
  yield solution
246
270
  end
247
271
  end
@@ -251,7 +275,7 @@ module SPARQL; class Client
251
275
  #
252
276
  # @example
253
277
  # repository.query([nil, RDF::DOAP.developer, nil])
254
- # repository.query(:predicate => RDF::DOAP.developer)
278
+ # repository.query({predicate: RDF::DOAP.developer})
255
279
  #
256
280
  # @todo This should use basic SPARQL query mechanism.
257
281
  #
@@ -260,7 +284,7 @@ module SPARQL; class Client
260
284
  # @yield [statement]
261
285
  # @yieldparam [Statement]
262
286
  # @return [Enumerable<Statement>]
263
- def query_pattern(pattern, options = {}, &block)
287
+ def query_pattern(pattern, **options, &block)
264
288
  pattern = pattern.dup
265
289
  pattern.subject ||= RDF::Query::Variable.new
266
290
  pattern.predicate ||= RDF::Query::Variable.new
@@ -321,4 +345,4 @@ module SPARQL; class Client
321
345
  end
322
346
 
323
347
  end
324
- end; end
348
+ end
@@ -12,12 +12,12 @@ class SPARQL::Client
12
12
  # insert_data(data)
13
13
  #
14
14
  # @example INSERT DATA \{ GRAPH <http://example.org/> \{\}\}
15
- # insert_data(RDF::Graph.new, :graph => 'http://example.org/')
15
+ # insert_data(RDF::Graph.new, graph: 'http://example.org/')
16
16
  # insert_data(RDF::Graph.new).graph('http://example.org/')
17
17
  #
18
18
  # @param (see InsertData#initialize)
19
- def self.insert_data(*arguments)
20
- InsertData.new(*arguments)
19
+ def self.insert_data(*arguments, **options)
20
+ InsertData.new(*arguments, **options)
21
21
  end
22
22
 
23
23
  ##
@@ -30,12 +30,12 @@ class SPARQL::Client
30
30
  # delete_data(data)
31
31
  #
32
32
  # @example DELETE DATA \{ GRAPH <http://example.org/> \{\}\}
33
- # delete_data(RDF::Graph.new, :graph => 'http://example.org/')
33
+ # delete_data(RDF::Graph.new, graph: 'http://example.org/')
34
34
  # delete_data(RDF::Graph.new).graph('http://example.org/')
35
35
  #
36
36
  # @param (see DeleteData#initialize)
37
- def self.delete_data(*arguments)
38
- DeleteData.new(*arguments)
37
+ def self.delete_data(*arguments, **options)
38
+ DeleteData.new(*arguments, **options)
39
39
  end
40
40
 
41
41
  ##
@@ -53,12 +53,12 @@ class SPARQL::Client
53
53
  # load(RDF::URI(http://example.org/data.rdf), into: RDF::URI(http://example.org/data.rdf))
54
54
  #
55
55
  # @param (see Load#initialize)
56
- def self.load(*arguments)
57
- Load.new(*arguments)
56
+ def self.load(*arguments, **options)
57
+ Load.new(*arguments, **options)
58
58
  end
59
59
 
60
60
  ##
61
- # Load statements into the graph
61
+ # Clear the graph
62
62
  #
63
63
  # @example CLEAR GRAPH <http://example.org/data.rdf>
64
64
  # clear.graph(RDF::URI(http://example.org/data.rdf))
@@ -81,8 +81,8 @@ class SPARQL::Client
81
81
  # clear(:all, silent: true)
82
82
  #
83
83
  # @param (see Clear#initialize)
84
- def self.clear(*arguments)
85
- Clear.new(*arguments)
84
+ def self.clear(*arguments, **options)
85
+ Clear.new(*arguments, **options)
86
86
  end
87
87
 
88
88
  ##
@@ -96,8 +96,8 @@ class SPARQL::Client
96
96
  # create(RDF::URI(http://example.org/data.rdf), silent: true)
97
97
  #
98
98
  # @param (see Create#initialize)
99
- def self.create(*arguments)
100
- Create.new(*arguments)
99
+ def self.create(*arguments, **options)
100
+ Create.new(*arguments, **options)
101
101
  end
102
102
 
103
103
  ##
@@ -124,15 +124,15 @@ class SPARQL::Client
124
124
  # drop(:all, silent: true)
125
125
  #
126
126
  # @param (see Drop#initialize)
127
- def self.drop(*arguments)
128
- Drop.new(*arguments)
127
+ def self.drop(*arguments, **options)
128
+ Drop.new(*arguments, **options)
129
129
  end
130
130
 
131
131
  class Operation
132
132
  attr_reader :options
133
133
 
134
- def initialize(*arguments)
135
- @options = arguments.last.is_a?(Hash) ? arguments.pop.dup : {}
134
+ def initialize(*arguments, **options)
135
+ @options = options.dup
136
136
  unless arguments.empty?
137
137
  send(arguments.shift, *arguments)
138
138
  end
@@ -171,9 +171,9 @@ class SPARQL::Client
171
171
  #
172
172
  # @param [Array<RDF::Statement>, RDF::Enumerable] data
173
173
  # @param [Hash{Symbol => Object}] options
174
- def initialize(data, options = {})
174
+ def initialize(data, **options)
175
175
  @data = data
176
- super(options)
176
+ super(**options)
177
177
  end
178
178
 
179
179
  ##
@@ -221,9 +221,9 @@ class SPARQL::Client
221
221
  #
222
222
  # @param [Array<RDF::Statement>, RDF::Enumerable] data
223
223
  # @param [Hash{Symbol => Object}] options
224
- def initialize(data, options = {})
224
+ def initialize(data, **options)
225
225
  @data = data
226
- super(options)
226
+ super(**options)
227
227
  end
228
228
 
229
229
  ##
@@ -253,11 +253,11 @@ class SPARQL::Client
253
253
  attr_reader :delete_graph
254
254
  attr_reader :where_graph
255
255
 
256
- def initialize(_delete_graph, _insert_graph = nil, _where_graph = nil, options = {})
256
+ def initialize(_delete_graph, _insert_graph = nil, _where_graph = nil, **options)
257
257
  @delete_graph = _delete_graph
258
258
  @insert_graph = _insert_graph
259
259
  @where_graph = _where_graph
260
- super(options)
260
+ super(**options)
261
261
  end
262
262
 
263
263
  ##
@@ -324,11 +324,10 @@ class SPARQL::Client
324
324
  # @param [Hash{Symbol => Object}] options
325
325
  # @option [RDF::URI] :into
326
326
  # @option [Boolean] :silent
327
- def initialize(from, options = {})
328
- options = options.dup
327
+ def initialize(from, into: nil,**options)
329
328
  @from = RDF::URI(from)
330
- @into = RDF::URI(options.delete(:into)) if options[:into]
331
- super(options)
329
+ @into = RDF::URI(into) if into
330
+ super(**options)
332
331
  end
333
332
 
334
333
  ##
@@ -420,9 +419,9 @@ class SPARQL::Client
420
419
  attr_reader :uri
421
420
 
422
421
  # @param [Hash{Symbol => Object}] options
423
- def initialize(uri, options = {})
422
+ def initialize(uri, **options)
424
423
  @uri = RDF::URI(uri)
425
- super(options)
424
+ super(**options)
426
425
  end
427
426
 
428
427
  def to_s
@@ -1,4 +1,4 @@
1
- module SPARQL; class Client
1
+ class SPARQL::Client
2
2
  module VERSION
3
3
  FILE = File.expand_path('../../../../VERSION', __FILE__)
4
4
  MAJOR, MINOR, TINY, EXTRA = File.read(FILE).chomp.split('.')
@@ -16,4 +16,4 @@ module SPARQL; class Client
16
16
  # @return [Array(Integer, Integer, Integer)]
17
17
  def self.to_a() [MAJOR, MINOR, TINY] end
18
18
  end
19
- end; end
19
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sparql-client
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.2
4
+ version: 3.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Arto Bendiken
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2016-09-06 00:00:00.000000000 Z
13
+ date: 2019-12-14 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: rdf
@@ -18,140 +18,112 @@ dependencies:
18
18
  requirements:
19
19
  - - "~>"
20
20
  - !ruby/object:Gem::Version
21
- version: 2.0.2
21
+ version: '3.1'
22
22
  type: :runtime
23
23
  prerelease: false
24
24
  version_requirements: !ruby/object:Gem::Requirement
25
25
  requirements:
26
26
  - - "~>"
27
27
  - !ruby/object:Gem::Version
28
- version: 2.0.2
28
+ version: '3.1'
29
29
  - !ruby/object:Gem::Dependency
30
30
  name: net-http-persistent
31
31
  requirement: !ruby/object:Gem::Requirement
32
32
  requirements:
33
33
  - - "~>"
34
34
  - !ruby/object:Gem::Version
35
- version: '2.9'
35
+ version: '3.1'
36
36
  type: :runtime
37
37
  prerelease: false
38
38
  version_requirements: !ruby/object:Gem::Requirement
39
39
  requirements:
40
40
  - - "~>"
41
41
  - !ruby/object:Gem::Version
42
- version: '2.9'
43
- - !ruby/object:Gem::Dependency
44
- name: sparql
45
- requirement: !ruby/object:Gem::Requirement
46
- requirements:
47
- - - "~>"
48
- - !ruby/object:Gem::Version
49
- version: '2.0'
50
- type: :development
51
- prerelease: false
52
- version_requirements: !ruby/object:Gem::Requirement
53
- requirements:
54
- - - "~>"
55
- - !ruby/object:Gem::Version
56
- version: '2.0'
42
+ version: '3.1'
57
43
  - !ruby/object:Gem::Dependency
58
44
  name: rdf-spec
59
45
  requirement: !ruby/object:Gem::Requirement
60
46
  requirements:
61
47
  - - "~>"
62
48
  - !ruby/object:Gem::Version
63
- version: '2.0'
49
+ version: '3.1'
64
50
  type: :development
65
51
  prerelease: false
66
52
  version_requirements: !ruby/object:Gem::Requirement
67
53
  requirements:
68
54
  - - "~>"
69
55
  - !ruby/object:Gem::Version
70
- version: '2.0'
56
+ version: '3.1'
71
57
  - !ruby/object:Gem::Dependency
72
- name: rdf-turtle
73
- requirement: !ruby/object:Gem::Requirement
74
- requirements:
75
- - - "~>"
76
- - !ruby/object:Gem::Version
77
- version: '2.0'
78
- type: :development
79
- prerelease: false
80
- version_requirements: !ruby/object:Gem::Requirement
81
- requirements:
82
- - - "~>"
83
- - !ruby/object:Gem::Version
84
- version: '2.0'
85
- - !ruby/object:Gem::Dependency
86
- name: rack
58
+ name: sparql
87
59
  requirement: !ruby/object:Gem::Requirement
88
60
  requirements:
89
61
  - - "~>"
90
62
  - !ruby/object:Gem::Version
91
- version: '1.6'
63
+ version: '3.1'
92
64
  type: :development
93
65
  prerelease: false
94
66
  version_requirements: !ruby/object:Gem::Requirement
95
67
  requirements:
96
68
  - - "~>"
97
69
  - !ruby/object:Gem::Version
98
- version: '1.6'
70
+ version: '3.1'
99
71
  - !ruby/object:Gem::Dependency
100
72
  name: rspec
101
73
  requirement: !ruby/object:Gem::Requirement
102
74
  requirements:
103
75
  - - "~>"
104
76
  - !ruby/object:Gem::Version
105
- version: '3.4'
77
+ version: '3.9'
106
78
  type: :development
107
79
  prerelease: false
108
80
  version_requirements: !ruby/object:Gem::Requirement
109
81
  requirements:
110
82
  - - "~>"
111
83
  - !ruby/object:Gem::Version
112
- version: '3.4'
84
+ version: '3.9'
113
85
  - !ruby/object:Gem::Dependency
114
86
  name: rspec-its
115
87
  requirement: !ruby/object:Gem::Requirement
116
88
  requirements:
117
89
  - - "~>"
118
90
  - !ruby/object:Gem::Version
119
- version: '1.2'
91
+ version: '1.3'
120
92
  type: :development
121
93
  prerelease: false
122
94
  version_requirements: !ruby/object:Gem::Requirement
123
95
  requirements:
124
96
  - - "~>"
125
97
  - !ruby/object:Gem::Version
126
- version: '1.2'
98
+ version: '1.3'
127
99
  - !ruby/object:Gem::Dependency
128
100
  name: webmock
129
101
  requirement: !ruby/object:Gem::Requirement
130
102
  requirements:
131
103
  - - "~>"
132
104
  - !ruby/object:Gem::Version
133
- version: '1.15'
105
+ version: '3.7'
134
106
  type: :development
135
107
  prerelease: false
136
108
  version_requirements: !ruby/object:Gem::Requirement
137
109
  requirements:
138
110
  - - "~>"
139
111
  - !ruby/object:Gem::Version
140
- version: '1.15'
112
+ version: '3.7'
141
113
  - !ruby/object:Gem::Dependency
142
114
  name: yard
143
115
  requirement: !ruby/object:Gem::Requirement
144
116
  requirements:
145
117
  - - "~>"
146
118
  - !ruby/object:Gem::Version
147
- version: '0.8'
119
+ version: 0.9.20
148
120
  type: :development
149
121
  prerelease: false
150
122
  version_requirements: !ruby/object:Gem::Requirement
151
123
  requirements:
152
124
  - - "~>"
153
125
  - !ruby/object:Gem::Version
154
- version: '0.8'
126
+ version: 0.9.20
155
127
  description: |-
156
128
  Executes SPARQL queries and updates against a remote SPARQL 1.0 or 1.1 endpoint,
157
129
  or against a local repository. Generates SPARQL queries using a simple DSL.
@@ -184,15 +156,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
184
156
  requirements:
185
157
  - - ">="
186
158
  - !ruby/object:Gem::Version
187
- version: '2.0'
159
+ version: '2.4'
188
160
  required_rubygems_version: !ruby/object:Gem::Requirement
189
161
  requirements:
190
162
  - - ">="
191
163
  - !ruby/object:Gem::Version
192
164
  version: '0'
193
165
  requirements: []
194
- rubyforge_project: sparql-client
195
- rubygems_version: 2.5.1
166
+ rubygems_version: 3.0.6
196
167
  signing_key:
197
168
  specification_version: 4
198
169
  summary: SPARQL client for RDF.rb.