This is a Ruby implementation of a SPARQL client for RDF.rb.
- Executes queries against any SPARQL 1.0-compatible endpoints over HTTP.
- Provides a query builder DSL for
ASK
,SELECT
,DESCRIBE
andCONSTRUCT
queries. - Supports tuple result sets in both XML and JSON formats, with JSON being the preferred default for content negotiation purposes.
- Supports graph results in any RDF serialization format understood by RDF.rb.
- Returns results using the RDF.rb object model.
- Supports accessing endpoints as read-only
RDF::Repository
instances.
require 'sparql/client'
sparql = SPARQL::Client.new("http://dbpedia.org/sparql")
# ASK WHERE { ?s ?p ?o }
result = sparql.ask.whether([:s, :p, :o]).true?
puts result.inspect #=> true or false
# SELECT * WHERE { ?s ?p ?o } OFFSET 100 LIMIT 10
query = sparql.select.where([:s, :p, :o]).offset(100).limit(10)
query.each_solution do |solution|
puts solution.inspect
end
# CONSTRUCT { ?s ?p ?o } WHERE { ?s ?p ?o } LIMIT 10
query = sparql.construct([:s, :p, :o]).where([:s, :p, :o]).limit(10)
query.each_statement do |statement|
puts statement.inspect
end
result = sparql.query("ASK WHERE { ?s ?p ?o }")
puts result.inspect #=> true or false
http://sparql.rubyforge.org/client/
- {SPARQL::Client}
- {SPARQL::Client::Query}
- {SPARQL::Client::Repository}
The recommended installation method is via RubyGems.
To install the latest official release of the SPARQL::Client
gem, do:
% [sudo] gem install sparql-client
To get a local working copy of the development repository, do:
% git clone git://github.com/bendiken/sparql-client.git
Alternatively, download the latest development version as a tarball as follows:
% wget http://github.com/bendiken/sparql-client/tarball/master
- Gabriel Horner - http://tagaholic.me/
- Nicholas Humfrey - http://www.aelius.com/njh/
- Fumihiro Kato - http://fumi.me/
- David Nielsen - http://github.com/drankard
- Thamaraiselvan Poomalai - http://softonaut.blogspot.com/
- Do your best to adhere to the existing coding conventions and idioms.
- Don't use hard tabs, and don't leave trailing whitespace on any line.
- Do document every method you add using YARD annotations. Read the tutorial or just look at the existing code for examples.
- Don't touch the
.gemspec
,VERSION
orAUTHORS
files. If you need to change them, do so on your private branch only. - Do feel free to add yourself to the
CREDITS
file and the corresponding list in the theREADME
. Alphabetical order applies. - Do note that in order for us to merge any non-trivial changes (as a rule of thumb, additions larger than about 15 lines of code), we need an explicit public domain dedication on record from you.
- http://sparql.rubyforge.org/client/
- http://github.com/bendiken/sparql-client
- http://rubygems.org/gems/sparql-client
- http://rubyforge.org/projects/sparql/
- http://raa.ruby-lang.org/project/sparql-client/
- http://www.ohloh.net/p/rdf
This is free and unencumbered public domain software. For more information, see http://unlicense.org/ or the accompanying {file:UNLICENSE} file.