sparql 1.99.0 → 1.99.1

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 2e189418bc1c955e9fe52f7f43c5ae7cbb6f4ece
4
- data.tar.gz: 24ea48aaf680166acce769a030f83313bd6c9bc8
3
+ metadata.gz: 3ec364c42e06e4cdc86392e739b67253706707a6
4
+ data.tar.gz: c3248886ed4b4821d66f03373a6a770547c2b9e9
5
5
  SHA512:
6
- metadata.gz: 3490effdaf0bb46eb1f85b2971b92dd3b94167073f962abc430dde19dfe0e25bca03f05d9fcb9cacc08bc00a0752cd4ed32d3678f61f816b2fcd6fc4f453bb22
7
- data.tar.gz: f28f4674050da2bb575f5134e479eaf86472153dac106d1908c281e9df72e94144916b4bde0aeafa10ba29c93a712ae166ae0e316a1972bcbe50c5416a5a0feb
6
+ metadata.gz: 79e904fa34e79c9a49517a690e5a190900b9b96462807c22fc22b7913d329f455628b9d3a6b6c264eb47492438694c16d1f758ca3b87dd089b656bb665441159
7
+ data.tar.gz: 9d9675ad236cb8fd49e7a09da77e38c43e9fa616d190aaa2e2fead03e9f2d577f4d027332676c3810a0ec620c0c39a5ac9f05504fdac25e3d3cd498876a013bf
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.99.0
1
+ 1.99.1
@@ -15,6 +15,8 @@ module SPARQL; module Algebra
15
15
  # Aggregates this operator accross its operands using
16
16
  # a solutions enumerable.
17
17
  #
18
+ # The first operand may be :distinct, in which case the result of applying the rest of the operands is uniqued before applying the expression.
19
+ #
18
20
  # @param [Enumerable<RDF::Query::Solution>] solutions ([])
19
21
  # an enumerable set of query solutions
20
22
  # @param [Hash{Symbol => Object}] options ({})
@@ -23,6 +25,7 @@ module SPARQL; module Algebra
23
25
  # @raise [TypeError]
24
26
  # @abstract
25
27
  def aggregate(solutions = [], options = {})
28
+ operands.shift if distinct = (operands.first == :distinct)
26
29
  args_enum = solutions.map do |solution|
27
30
  operands.map do |operand|
28
31
  begin
@@ -33,7 +36,7 @@ module SPARQL; module Algebra
33
36
  end
34
37
  end.compact
35
38
  end
36
- apply(args_enum)
39
+ apply(distinct ? args_enum.uniq : args_enum)
37
40
  end
38
41
 
39
42
  ##
@@ -16,8 +16,9 @@ module SPARQL; module Algebra
16
16
  include Aggregate
17
17
 
18
18
  NAME = :group_concat
19
+
19
20
  ##
20
- # One or two operands, the second operand, if it exists, is a separator, defaulting to ' '.
21
+ # One, two or three operands, the first may be `distinct`, the last operand, if it exists, is a separator, defaulting to ' '.
21
22
  #
22
23
  # @param [Enumerable<RDF::Query::Solution>] solutions ([])
23
24
  # an enumerable set of query solutions
@@ -27,6 +28,7 @@ module SPARQL; module Algebra
27
28
  # @raise [TypeError]
28
29
  # @abstract
29
30
  def aggregate(solutions = [], options = {})
31
+ operands.shift if distinct = (operands.first == :distinct)
30
32
  sep = operands.length == 2 ? operand(0).last : RDF::Literal(' ')
31
33
  args_enum = solutions.map do |solution|
32
34
  begin
@@ -36,10 +38,9 @@ module SPARQL; module Algebra
36
38
  nil
37
39
  end
38
40
  end
39
- apply(args_enum, sep)
41
+ apply(distinct ? args_enum.uniq : args_enum, sep)
40
42
  end
41
43
 
42
-
43
44
  ##
44
45
  # GroupConcat is a set function which performs a string concatenation across the values of an expression with a group. The order of the strings is not specified. The separator character used in the concatenation may be given with the scalar argument SEPARATOR.
45
46
  #
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: 1.99.0
4
+ version: 1.99.1
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: 2015-10-26 00:00:00.000000000 Z
12
+ date: 2016-03-18 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rdf
@@ -426,7 +426,7 @@ files:
426
426
  - lib/sparql/version.rb
427
427
  homepage: http://github.com/ruby-rdf/sparql
428
428
  licenses:
429
- - Public Domain
429
+ - Unlicense
430
430
  metadata: {}
431
431
  post_install_message:
432
432
  rdoc_options: []
@@ -444,7 +444,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
444
444
  version: '0'
445
445
  requirements: []
446
446
  rubyforge_project: sparql
447
- rubygems_version: 2.4.5.1
447
+ rubygems_version: 2.5.1
448
448
  signing_key:
449
449
  specification_version: 4
450
450
  summary: SPARQL Query and Update library for Ruby.