Skip to content

Commit

Permalink
Finish 2.2.1
Browse files Browse the repository at this point in the history
  • Loading branch information
gkellogg committed Jul 4, 2017
2 parents 26ba9a1 + d58c498 commit 71a49d4
Show file tree
Hide file tree
Showing 8 changed files with 78 additions and 20 deletions.
15 changes: 8 additions & 7 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,15 @@ script: "bundle exec rspec spec"
env:
- CI=true
rvm:
- 2.2.6
- 2.3.1
- 2.4.0
- jruby
- rbx
- 2.2
- 2.3
- 2.4
- jruby-9
- rbx-3
cache: bundler
sudo: false
matrix:
allow_failures:
- rvm: rbx
- rvm: jruby
- rvm: jruby-9
- rvm: rbx-3
dist: trusty
2 changes: 1 addition & 1 deletion VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
2.2.0
2.2.1
34 changes: 34 additions & 0 deletions examples/issue27.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
require 'linkeddata'
require 'pp'
ttl = %(
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix simc: <http://www.ifi.uio.no/INF3580/simpson-collection#> .
@prefix sim: <http://www.ifi.uio.no/INF3580/simpsons#>.
simc:Collection a rdf:List.
simc:Collection rdf:first sim:Homer.
simc:Collection rdf:rest simc:c1.
simc:c1 rdf:first sim:Marge.
simc:c1 rdf:rest simc:c2.
simc:c2 rdf:first sim:Bart.
simc:c2 rdf:rest simc:c3.
simc:c3 rdf:first sim:Maggie.
simc:c3 rdf:rest simc:c4.
simc:c4 rdf:first sim:Lisa.
simc:c4 rdf:rest rdf:nil.
)
rep = RDF::Repository.new
RDF::Turtle::Reader.new(ttl) do |reader|
rep << reader
end

query = %{
PREFIX simc: <http://www.ifi.uio.no/INF3580/simpson-collection#>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
SELECT ?r ?f WHERE {
simc:Collection rdf:rest* ?r .
?r rdf:first ?f
}
}
pp SPARQL.execute(query, rep)
3 changes: 2 additions & 1 deletion lib/rack/sparql/conneg.rb
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,8 @@ def serialize(env, status, headers, body)
headers = headers.merge(VARY).merge('Content-Type' => results.content_type) # FIXME: don't overwrite existing Vary headers
[status, headers, [results]]
rescue RDF::WriterError => e
not_acceptable(e.message)
# Use this instead of not_acceptable so that headers are not lost.
http_error(406, e.message, headers.merge(VARY))
end
end

Expand Down
5 changes: 4 additions & 1 deletion lib/sparql/grammar/parser11.rb
Original file line number Diff line number Diff line change
Expand Up @@ -615,9 +615,12 @@ class Parser
end
end
if (lhs = (input.delete(:query) || []).first) && !lhs.empty?
query = SPARQL::Algebra::Expression.for(:join, lhs, query)
query = SPARQL::Algebra::Operator::Join.new(lhs, query)
end
add_prod_datum(:query, query)
elsif !Array(data[:query]).empty?
# Join query and path
add_prod_datum(:query, SPARQL::Algebra::Operator::Join.new(data[:path].first, data[:query].first))
else
add_prod_datum(:query, data[:path])
end
Expand Down
18 changes: 9 additions & 9 deletions sparql.gemspec
Original file line number Diff line number Diff line change
Expand Up @@ -29,23 +29,23 @@ Gem::Specification.new do |gem|

gem.required_ruby_version = '>= 2.2.2'
gem.requirements = []
gem.add_runtime_dependency 'rdf', '~> 2.1'
gem.add_runtime_dependency 'rdf-aggregate-repo', '~> 2.0'
gem.add_runtime_dependency 'rdf', '~> 2.2'
gem.add_runtime_dependency 'rdf-aggregate-repo', '~> 2.2'
gem.add_runtime_dependency 'ebnf', '~> 1.1'
gem.add_runtime_dependency 'builder', '~> 3.2'
gem.add_runtime_dependency 'sxp', '~> 1.0'
gem.add_runtime_dependency 'sparql-client', '~> 2.0'
gem.add_runtime_dependency 'sparql-client', '~> 2.1'
gem.add_runtime_dependency 'rdf-xsd', '~> 2.1'

gem.add_development_dependency 'sinatra', '~> 1.4', '>= 1.4.6'
gem.add_development_dependency 'rack', '~> 1.6'
gem.add_development_dependency 'sinatra', '~> 2.0'
gem.add_development_dependency 'rack', '~> 2.0'
gem.add_development_dependency 'rack-test', '~> 0.6'
gem.add_development_dependency 'linkeddata', '~> 2.0'
gem.add_development_dependency 'rdf-spec', '~> 2.0'
gem.add_development_dependency 'linkeddata', '~> 2.2'
gem.add_development_dependency 'rdf-spec', '~> 2.2'
gem.add_development_dependency 'open-uri-cached', '~> 0.0', '>= 0.0.5'
gem.add_development_dependency 'rspec', '~> 3.5'
gem.add_development_dependency 'rspec', '~> 3.6'
gem.add_development_dependency 'rspec-its', '~> 1.2'
gem.add_development_dependency 'yard' , '~> 0.8'
gem.add_development_dependency 'yard' , '~> 0.9'

gem.post_install_message = nil
end
19 changes: 19 additions & 0 deletions spec/grammar/misc_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,25 @@
)
?item))))))
}
},
"issue 27" => {
query: %(
PREFIX simc: <http://www.ifi.uio.no/INF3580/simpson-collection#>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
SELECT ?r ?f WHERE {
simc:Collection rdf:rest* ?r .
?r rdf:first ?f
}
),
sse: %{(project (?r ?f)
(join
(path <http://www.ifi.uio.no/INF3580/simpson-collection#Collection>
(path* <http://www.w3.org/1999/02/22-rdf-syntax-ns#rest>)
?r)
(bgp (triple ?r <http://www.w3.org/1999/02/22-rdf-syntax-ns#first> ?f))
)
)}
}
}.each do |test, options|
it "parses #{test}" do
Expand Down
2 changes: 1 addition & 1 deletion spec/support/models.rb
Original file line number Diff line number Diff line change
Expand Up @@ -259,7 +259,7 @@ def solutions

def parse_rdf_bindings(graph)
JSON::LD::API.fromRDF(graph) do |expanded|
JSON::LD::API.frame(expanded, RESULT_FRAME) do |framed|
JSON::LD::API.frame(expanded, RESULT_FRAME, pruneBlankNodeIdentifiers: false) do |framed|
nodes = {}
solution = framed['@graph'].first['solution'] if framed['@graph'].first.has_key?('solution')
solutions = Array(solution).
Expand Down

0 comments on commit 71a49d4

Please sign in to comment.