sparql-client 2.0.2 → 3.1.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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.