sparql 3.1.0 → 3.1.2

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.
Files changed (149) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +183 -69
  3. data/UNLICENSE +1 -1
  4. data/VERSION +1 -1
  5. data/bin/sparql +20 -9
  6. data/lib/rack/sparql/conneg.rb +2 -2
  7. data/lib/sinatra/sparql.rb +3 -3
  8. data/lib/sparql.rb +8 -6
  9. data/lib/sparql/algebra.rb +7 -15
  10. data/lib/sparql/algebra/aggregate.rb +2 -2
  11. data/lib/sparql/algebra/expression.rb +22 -8
  12. data/lib/sparql/algebra/extensions.rb +135 -3
  13. data/lib/sparql/algebra/operator.rb +37 -9
  14. data/lib/sparql/algebra/operator/abs.rb +2 -2
  15. data/lib/sparql/algebra/operator/add.rb +2 -2
  16. data/lib/sparql/algebra/operator/alt.rb +2 -2
  17. data/lib/sparql/algebra/operator/and.rb +3 -3
  18. data/lib/sparql/algebra/operator/asc.rb +1 -1
  19. data/lib/sparql/algebra/operator/ask.rb +2 -12
  20. data/lib/sparql/algebra/operator/avg.rb +1 -1
  21. data/lib/sparql/algebra/operator/base.rb +8 -8
  22. data/lib/sparql/algebra/operator/bgp.rb +1 -1
  23. data/lib/sparql/algebra/operator/bnode.rb +2 -2
  24. data/lib/sparql/algebra/operator/bound.rb +1 -1
  25. data/lib/sparql/algebra/operator/ceil.rb +2 -2
  26. data/lib/sparql/algebra/operator/clear.rb +2 -2
  27. data/lib/sparql/algebra/operator/coalesce.rb +1 -11
  28. data/lib/sparql/algebra/operator/compare.rb +8 -8
  29. data/lib/sparql/algebra/operator/concat.rb +2 -2
  30. data/lib/sparql/algebra/operator/construct.rb +2 -12
  31. data/lib/sparql/algebra/operator/contains.rb +2 -2
  32. data/lib/sparql/algebra/operator/copy.rb +2 -2
  33. data/lib/sparql/algebra/operator/count.rb +1 -1
  34. data/lib/sparql/algebra/operator/create.rb +2 -2
  35. data/lib/sparql/algebra/operator/dataset.rb +2 -13
  36. data/lib/sparql/algebra/operator/datatype.rb +1 -1
  37. data/lib/sparql/algebra/operator/day.rb +1 -1
  38. data/lib/sparql/algebra/operator/delete.rb +4 -4
  39. data/lib/sparql/algebra/operator/delete_data.rb +2 -2
  40. data/lib/sparql/algebra/operator/delete_where.rb +2 -2
  41. data/lib/sparql/algebra/operator/desc.rb +1 -1
  42. data/lib/sparql/algebra/operator/describe.rb +2 -12
  43. data/lib/sparql/algebra/operator/distinct.rb +2 -12
  44. data/lib/sparql/algebra/operator/divide.rb +1 -1
  45. data/lib/sparql/algebra/operator/drop.rb +2 -2
  46. data/lib/sparql/algebra/operator/encode_for_uri.rb +2 -2
  47. data/lib/sparql/algebra/operator/equal.rb +2 -2
  48. data/lib/sparql/algebra/operator/exists.rb +1 -1
  49. data/lib/sparql/algebra/operator/exprlist.rb +1 -11
  50. data/lib/sparql/algebra/operator/extend.rb +14 -13
  51. data/lib/sparql/algebra/operator/filter.rb +3 -13
  52. data/lib/sparql/algebra/operator/floor.rb +2 -2
  53. data/lib/sparql/algebra/operator/graph.rb +3 -14
  54. data/lib/sparql/algebra/operator/greater_than.rb +5 -5
  55. data/lib/sparql/algebra/operator/greater_than_or_equal.rb +5 -5
  56. data/lib/sparql/algebra/operator/group.rb +14 -14
  57. data/lib/sparql/algebra/operator/group_concat.rb +1 -1
  58. data/lib/sparql/algebra/operator/hours.rb +1 -1
  59. data/lib/sparql/algebra/operator/if.rb +1 -11
  60. data/lib/sparql/algebra/operator/in.rb +1 -11
  61. data/lib/sparql/algebra/operator/insert.rb +3 -3
  62. data/lib/sparql/algebra/operator/insert_data.rb +2 -2
  63. data/lib/sparql/algebra/operator/iri.rb +1 -1
  64. data/lib/sparql/algebra/operator/is_blank.rb +1 -1
  65. data/lib/sparql/algebra/operator/is_iri.rb +1 -1
  66. data/lib/sparql/algebra/operator/is_literal.rb +1 -1
  67. data/lib/sparql/algebra/operator/is_numeric.rb +1 -1
  68. data/lib/sparql/algebra/operator/join.rb +9 -7
  69. data/lib/sparql/algebra/operator/lang.rb +1 -1
  70. data/lib/sparql/algebra/operator/lang_matches.rb +3 -3
  71. data/lib/sparql/algebra/operator/lcase.rb +2 -2
  72. data/lib/sparql/algebra/operator/left_join.rb +12 -9
  73. data/lib/sparql/algebra/operator/less_than.rb +5 -5
  74. data/lib/sparql/algebra/operator/less_than_or_equal.rb +5 -5
  75. data/lib/sparql/algebra/operator/load.rb +2 -2
  76. data/lib/sparql/algebra/operator/max.rb +1 -1
  77. data/lib/sparql/algebra/operator/md5.rb +1 -1
  78. data/lib/sparql/algebra/operator/min.rb +1 -1
  79. data/lib/sparql/algebra/operator/minus.rb +9 -8
  80. data/lib/sparql/algebra/operator/minutes.rb +1 -1
  81. data/lib/sparql/algebra/operator/modify.rb +1 -1
  82. data/lib/sparql/algebra/operator/month.rb +1 -1
  83. data/lib/sparql/algebra/operator/move.rb +2 -2
  84. data/lib/sparql/algebra/operator/multiply.rb +1 -1
  85. data/lib/sparql/algebra/operator/negate.rb +1 -1
  86. data/lib/sparql/algebra/operator/not.rb +1 -1
  87. data/lib/sparql/algebra/operator/not_equal.rb +2 -2
  88. data/lib/sparql/algebra/operator/notexists.rb +2 -2
  89. data/lib/sparql/algebra/operator/notin.rb +1 -11
  90. data/lib/sparql/algebra/operator/notoneof.rb +2 -2
  91. data/lib/sparql/algebra/operator/now.rb +1 -1
  92. data/lib/sparql/algebra/operator/or.rb +3 -3
  93. data/lib/sparql/algebra/operator/order.rb +2 -12
  94. data/lib/sparql/algebra/operator/path.rb +2 -2
  95. data/lib/sparql/algebra/operator/path_opt.rb +2 -2
  96. data/lib/sparql/algebra/operator/path_plus.rb +2 -2
  97. data/lib/sparql/algebra/operator/path_star.rb +2 -2
  98. data/lib/sparql/algebra/operator/plus.rb +2 -2
  99. data/lib/sparql/algebra/operator/prefix.rb +8 -8
  100. data/lib/sparql/algebra/operator/project.rb +2 -12
  101. data/lib/sparql/algebra/operator/rand.rb +1 -1
  102. data/lib/sparql/algebra/operator/reduced.rb +2 -12
  103. data/lib/sparql/algebra/operator/regex.rb +5 -5
  104. data/lib/sparql/algebra/operator/replace.rb +3 -3
  105. data/lib/sparql/algebra/operator/reverse.rb +2 -2
  106. data/lib/sparql/algebra/operator/round.rb +2 -2
  107. data/lib/sparql/algebra/operator/same_term.rb +8 -5
  108. data/lib/sparql/algebra/operator/sample.rb +1 -1
  109. data/lib/sparql/algebra/operator/seconds.rb +1 -1
  110. data/lib/sparql/algebra/operator/seq.rb +1 -1
  111. data/lib/sparql/algebra/operator/sequence.rb +1 -1
  112. data/lib/sparql/algebra/operator/sha1.rb +1 -1
  113. data/lib/sparql/algebra/operator/sha256.rb +1 -1
  114. data/lib/sparql/algebra/operator/sha384.rb +1 -1
  115. data/lib/sparql/algebra/operator/sha512.rb +1 -1
  116. data/lib/sparql/algebra/operator/slice.rb +2 -12
  117. data/lib/sparql/algebra/operator/str.rb +1 -1
  118. data/lib/sparql/algebra/operator/strafter.rb +2 -2
  119. data/lib/sparql/algebra/operator/strbefore.rb +2 -2
  120. data/lib/sparql/algebra/operator/strdt.rb +2 -2
  121. data/lib/sparql/algebra/operator/strends.rb +2 -2
  122. data/lib/sparql/algebra/operator/strlang.rb +2 -2
  123. data/lib/sparql/algebra/operator/strlen.rb +2 -2
  124. data/lib/sparql/algebra/operator/strstarts.rb +2 -2
  125. data/lib/sparql/algebra/operator/struuid.rb +1 -1
  126. data/lib/sparql/algebra/operator/substr.rb +3 -3
  127. data/lib/sparql/algebra/operator/subtract.rb +1 -1
  128. data/lib/sparql/algebra/operator/sum.rb +1 -1
  129. data/lib/sparql/algebra/operator/table.rb +2 -2
  130. data/lib/sparql/algebra/operator/timezone.rb +1 -1
  131. data/lib/sparql/algebra/operator/tz.rb +1 -1
  132. data/lib/sparql/algebra/operator/ucase.rb +2 -2
  133. data/lib/sparql/algebra/operator/union.rb +7 -6
  134. data/lib/sparql/algebra/operator/update.rb +2 -2
  135. data/lib/sparql/algebra/operator/using.rb +2 -2
  136. data/lib/sparql/algebra/operator/uuid.rb +1 -1
  137. data/lib/sparql/algebra/operator/with.rb +2 -2
  138. data/lib/sparql/algebra/operator/year.rb +1 -1
  139. data/lib/sparql/algebra/query.rb +1 -1
  140. data/lib/sparql/algebra/update.rb +1 -1
  141. data/lib/sparql/algebra/version.rb +1 -1
  142. data/lib/sparql/extensions.rb +1 -1
  143. data/lib/sparql/grammar.rb +104 -3
  144. data/lib/sparql/grammar/meta.rb +1372 -333
  145. data/lib/sparql/grammar/parser11.rb +27 -6
  146. data/lib/sparql/grammar/terminals11.rb +1 -0
  147. data/lib/sparql/results.rb +60 -41
  148. data/lib/sparql/version.rb +1 -1
  149. metadata +14 -8
@@ -6,8 +6,8 @@ module SPARQL::Grammar
6
6
  ##
7
7
  # A parser for the SPARQL 1.1 grammar.
8
8
  #
9
- # @see http://www.w3.org/TR/sparql11-query/#grammar
10
- # @see http://en.wikipedia.org/wiki/LR_parser
9
+ # @see https://www.w3.org/TR/sparql11-query/#grammar
10
+ # @see https://en.wikipedia.org/wiki/LR_parser
11
11
  class Parser
12
12
  include SPARQL::Grammar::Meta
13
13
  include SPARQL::Grammar::Terminals
@@ -701,9 +701,9 @@ module SPARQL::Grammar
701
701
  end
702
702
  end
703
703
 
704
- # [60] Bind ::= 'BIND' '(' Expression 'AS' Var ')'
704
+ # [60] Bind ::= 'BIND' '(' (Expression || EmbTP) 'AS' Var ')'
705
705
  production(:Bind) do |input, data, callback|
706
- add_prod_datum :extend, [data[:Expression].unshift(data[:Var].first)]
706
+ add_prod_datum :extend, [(data[:Expression] || data[:pattern]).unshift(data[:Var].first)]
707
707
  end
708
708
 
709
709
  # [61] InlineData ::= 'VALUES' DataBlock
@@ -1104,11 +1104,21 @@ module SPARQL::Grammar
1104
1104
  data.values.each {|v| add_prod_datum(:VarOrTerm, v)}
1105
1105
  end
1106
1106
 
1107
+ # [106s] VarOrTermOrEmbTP ::= Var | GraphTerm | EmbTP
1108
+ production(:VarOrTermOrEmbTP) do |input, data, callback|
1109
+ data.values.each {|v| add_prod_datum(:VarOrTerm, v)}
1110
+ end
1111
+
1107
1112
  # [107] VarOrIri ::= Var | iri
1108
1113
  production(:VarOrIri) do |input, data, callback|
1109
1114
  data.values.each {|v| add_prod_datum(:VarOrIri, v)}
1110
1115
  end
1111
1116
 
1117
+ # [107s] VarOrBlankNodeOrIriOrEmbTP ::= Var | BlankNode| iri | EmbTP
1118
+ production(:VarOrBlankNodeOrIriOrEmbTP) do |input, data, callback|
1119
+ data.values.each {|v| add_prod_datum(:VarOrBlankNodeOrIriOrEmbTP, v)}
1120
+ end
1121
+
1112
1122
  # [109] GraphTerm ::= iri | RDFLiteral | NumericLiteral
1113
1123
  # | BooleanLiteral | BlankNode | NIL
1114
1124
  production(:GraphTerm) do |input, data, callback|
@@ -1119,6 +1129,17 @@ module SPARQL::Grammar
1119
1129
  data[:NIL])
1120
1130
  end
1121
1131
 
1132
+ # [1xx] EmbTP ::= '<<' VarOrBlankNodeOrIriOrEmbTP Verb VarOrTermOrEmbTP '>>'
1133
+ production(:EmbTP) do |input, data, callback|
1134
+ subject = data[:VarOrBlankNodeOrIriOrEmbTP]
1135
+ predicate = data[:Verb]
1136
+ object = data[:VarOrTerm]
1137
+ add_pattern(:EmbTP,
1138
+ subject: subject,
1139
+ predicate: predicate,
1140
+ object: object)
1141
+ end
1142
+
1122
1143
  # [110] Expression ::= ConditionalOrExpression
1123
1144
  production(:Expression) do |input, data, callback|
1124
1145
  add_prod_datum(:Expression, data[:Expression])
@@ -1527,8 +1548,8 @@ module SPARQL::Grammar
1527
1548
  # @param [Symbol, #to_s] prod The starting production for the parser.
1528
1549
  # It may be a URI from the grammar, or a symbol representing the local_name portion of the grammar URI.
1529
1550
  # @return [Array]
1530
- # @see http://www.w3.org/TR/sparql11-query/#sparqlAlgebra
1531
- # @see http://axel.deri.ie/sparqltutorial/ESWC2007_SPARQL_Tutorial_unit2b.pdf
1551
+ # @see https://www.w3.org/TR/sparql11-query/#sparqlAlgebra
1552
+ # @see https://axel.deri.ie/sparqltutorial/ESWC2007_SPARQL_Tutorial_unit2b.pdf
1532
1553
  def parse(prod = START)
1533
1554
  ll1_parse(@input,
1534
1555
  prod.to_sym,
@@ -110,6 +110,7 @@ module SPARQL::Grammar
110
110
  |isBLANK|isIRI|isURI|isLITERAL|isNUMERIC|sameTerm
111
111
  |true
112
112
  |false
113
+ |<<|>>
113
114
  |&&|!=|!|<=|>=|\^\^|\|\||[\(\),.;\[\]\{\}\+\-=<>\?\^\|\*\/a]
114
115
  )xim.freeze
115
116
 
@@ -14,28 +14,38 @@ module SPARQL
14
14
  ##
15
15
  # Generate Solutions as JSON
16
16
  # @return [String]
17
- # @see http://www.w3.org/TR/rdf-sparql-json-res/
17
+ # @see https://www.w3.org/TR/rdf-sparql-json-res/
18
18
  def to_json
19
19
  require 'json' unless defined?(::JSON)
20
-
21
- bindings = self.map do |solution|
22
- variable_names.inject({}) do |memo, n|
23
- memo.merge case s = solution[n]
24
- when RDF::URI
25
- {n => {type: "uri", value: s.to_s }}
26
- when RDF::Node
27
- {n => {type: "bnode", value: s.id }}
28
- when RDF::Literal
29
- if s.datatype?
30
- {n => {type: "typed-literal", datatype: s.datatype.to_s, value: s.to_s }}
31
- elsif s.language
32
- {n => {type: "literal", "xml:lang" => s.language.to_s, value: s.to_s }}
33
- else
34
- {n => {type: "literal", value: s.to_s }}
35
- end
20
+
21
+ format = ->(value) do
22
+ case value
23
+ when RDF::URI then {type: "uri", value: value.to_s }
24
+ when RDF::Node then {type: "bnode", value: value.id }
25
+ when RDF::Literal
26
+ if value.datatype?
27
+ {type: "typed-literal", datatype: value.datatype.to_s, value: value.to_s }
28
+ elsif value.language?
29
+ {type: "literal", "xml:lang" => value.language.to_s, value: value.to_s }
36
30
  else
37
- {}
31
+ {type: "literal", value: value.to_s }
38
32
  end
33
+ when RDF::Statement
34
+ {
35
+ type: 'triple',
36
+ value: {
37
+ s: format.call(value.subject),
38
+ p: format.call(value.predicate),
39
+ o: format.call(value.object)
40
+ }
41
+ }
42
+ end
43
+ end
44
+
45
+ bindings = self.map do |solution|
46
+ variable_names.inject({}) do |memo, n|
47
+ rep = format.call(solution[n])
48
+ rep ? memo.merge(n => rep) : memo
39
49
  end
40
50
  end
41
51
 
@@ -48,12 +58,36 @@ module SPARQL
48
58
  ##
49
59
  # Generate Solutions as XML
50
60
  # @return [String]
51
- # @see http://www.w3.org/TR/rdf-sparql-XMLres/
61
+ # @see https://www.w3.org/TR/rdf-sparql-XMLres/
52
62
  def to_xml
53
63
  require 'builder' unless defined?(::Builder)
54
64
 
55
65
  xml = ::Builder::XmlMarkup.new(indent: 2)
56
66
  xml.instruct!
67
+
68
+ format = ->(s) do
69
+ case s
70
+ when RDF::URI
71
+ xml.uri(s.to_s)
72
+ when RDF::Node
73
+ xml.bnode(s.id)
74
+ when RDF::Literal
75
+ if s.datatype?
76
+ xml.literal(s.to_s, "datatype" => s.datatype.to_s)
77
+ elsif s.language
78
+ xml.literal(s.to_s, "xml:lang" => s.language.to_s)
79
+ else
80
+ xml.literal(s.to_s)
81
+ end
82
+ when RDF::Statement
83
+ xml.triple do
84
+ xml.s {format.call(s.subject)}
85
+ xml.p {format.call(s.predicate)}
86
+ xml.o {format.call(s.object)}
87
+ end
88
+ end
89
+ end
90
+
57
91
  xml.sparql(xmlns: "http://www.w3.org/2005/sparql-results#") do
58
92
  xml.head do
59
93
  variable_names.each do |n|
@@ -67,20 +101,7 @@ module SPARQL
67
101
  s = solution[n]
68
102
  next unless s
69
103
  xml.binding(name: n) do
70
- case s
71
- when RDF::URI
72
- xml.uri(s.to_s)
73
- when RDF::Node
74
- xml.bnode(s.id)
75
- when RDF::Literal
76
- if s.datatype?
77
- xml.literal(s.to_s, "datatype" => s.datatype.to_s)
78
- elsif s.language
79
- xml.literal(s.to_s, "xml:lang" => s.language.to_s)
80
- else
81
- xml.literal(s.to_s)
82
- end
83
- end
104
+ format.call(s)
84
105
  end
85
106
  end
86
107
  end
@@ -118,7 +139,7 @@ module SPARQL
118
139
  ##
119
140
  # Generate Solutions as CSV
120
141
  # @return [String]
121
- # @see http://www.w3.org/TR/rdf-sparql-json-res/#results
142
+ # @see https://www.w3.org/TR/2013/REC-sparql11-results-csv-tsv-20130321/
122
143
  def to_csv
123
144
  require 'csv' unless defined?(::CSV)
124
145
  bnode_map = {}
@@ -135,7 +156,7 @@ module SPARQL
135
156
  this
136
157
  end
137
158
  else
138
- solution[n].to_s
159
+ solution[n].to_s.strip
139
160
  end
140
161
  end
141
162
  end
@@ -144,11 +165,9 @@ module SPARQL
144
165
  ##
145
166
  # Generate Solutions as TSV
146
167
  # @return [String]
147
- # @see http://www.w3.org/TR/rdf-sparql-json-res/#results
168
+ # @see https://www.w3.org/TR/2013/REC-sparql11-results-csv-tsv-20130321/
148
169
  def to_tsv
149
170
  require 'csv' unless defined?(::CSV)
150
- bnode_map = {}
151
- bnode_gen = "_:a"
152
171
  results = [
153
172
  variable_names.map {|v| "?#{v}"}.join("\t")
154
173
  ] + self.map do |solution|
@@ -159,7 +178,7 @@ module SPARQL
159
178
  when nil
160
179
  ""
161
180
  else
162
- RDF::NTriples.serialize(term)
181
+ RDF::NTriples.serialize(term).strip
163
182
  end
164
183
  end.join("\t")
165
184
  end
@@ -226,7 +245,7 @@ module SPARQL
226
245
  when RDF::Queryable
227
246
  begin
228
247
  require 'linkeddata'
229
- rescue LoadError => e
248
+ rescue LoadError
230
249
  require 'rdf/ntriples'
231
250
  end
232
251
  fmt = RDF::Format.for(format ? format.to_sym : {content_type: content_type})
@@ -280,7 +299,7 @@ module SPARQL
280
299
  # @param [Array<String>] available
281
300
  # @return [String]
282
301
  #
283
- # @see http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.1
302
+ # @see https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.1
284
303
  def first_content_type(acceptable, available)
285
304
  return acceptable.first if available.empty?
286
305
  available.flatten!
@@ -1,6 +1,6 @@
1
1
  module SPARQL
2
2
  module VERSION
3
- VERSION_FILE = File.join(File.expand_path(File.dirname(__FILE__)), "..", "..", "VERSION")
3
+ VERSION_FILE = File.expand_path("../../../VERSION", __FILE__)
4
4
  MAJOR, MINOR, TINY, EXTRA = File.read(VERSION_FILE).chomp.split(".")
5
5
 
6
6
  STRING = [MAJOR, MINOR, TINY, EXTRA].compact.join('.')
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.1.0
4
+ version: 3.1.2
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: 2019-12-13 00:00:00.000000000 Z
12
+ date: 2020-06-16 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.1'
21
+ - - ">="
22
+ - !ruby/object:Gem::Version
23
+ version: 3.1.2
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.1'
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: 3.1.2
28
34
  - !ruby/object:Gem::Dependency
29
35
  name: rdf-aggregate-repo
30
36
  requirement: !ruby/object:Gem::Requirement
@@ -43,16 +49,16 @@ dependencies:
43
49
  name: ebnf
44
50
  requirement: !ruby/object:Gem::Requirement
45
51
  requirements:
46
- - - "~>"
52
+ - - ">="
47
53
  - !ruby/object:Gem::Version
48
- version: '1.2'
54
+ version: '1.1'
49
55
  type: :runtime
50
56
  prerelease: false
51
57
  version_requirements: !ruby/object:Gem::Requirement
52
58
  requirements:
53
- - - "~>"
59
+ - - ">="
54
60
  - !ruby/object:Gem::Version
55
- version: '1.2'
61
+ version: '1.1'
56
62
  - !ruby/object:Gem::Dependency
57
63
  name: builder
58
64
  requirement: !ruby/object:Gem::Requirement
@@ -404,7 +410,7 @@ files:
404
410
  - lib/sparql/grammar/terminals11.rb
405
411
  - lib/sparql/results.rb
406
412
  - lib/sparql/version.rb
407
- homepage: http://github.com/ruby-rdf/sparql
413
+ homepage: https://github.com/ruby-rdf/sparql
408
414
  licenses:
409
415
  - Unlicense
410
416
  metadata: {}
@@ -423,7 +429,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
423
429
  - !ruby/object:Gem::Version
424
430
  version: '0'
425
431
  requirements: []
426
- rubygems_version: 3.0.6
432
+ rubygems_version: 3.1.3
427
433
  signing_key:
428
434
  specification_version: 4
429
435
  summary: SPARQL Query and Update library for Ruby.