SPARQL Engine for Java

The SPARQL Java API is an engine to interpret SPARQL queries against RDF data from an RDF server.

What it is Not:

It is not an RDF server of any sort, therefore it is not an end user semantic solution. If you want to store and access RDF data, see other projects like Sesame, Jena, etc.

What it Is:

It's an API for RDF server implementations to use to be able to add SPARQL querying capabilities. This frees server implementations from worrying about query specifications or implementing it themselves. It also accomodates users who are interested in a higher level of customization of the SPARQL query language. It's important to note that this engine is designed to be full-featured, so anything that's not right IS a bug. That being said, there are a number of known bugs, but feel free to report them through the SourceForge bug tracker.

What is RDF?

Resource Description Framework, but you're in the wrong place, friend. Please see a guide here.

What is SPARQL?

SPARQL is a query language, designed by W3C in an attempt to standardize querying of RDF data sources, much like SQL standardized querying relational data sources. For more information on SPARQL, see the W3C specification.

Engine History

It was originally created as part of a Google Summer of Code project by Ryan Levering to query data from the Sesame RDF server. The design expanded the scope of the project to allow it to be used in any RDF source or to be customized for developer needs. It continues to be updated by Ryan, with support from others in the community.


September 19, 2007 - I'm currently working on a new release to make the engine compatible with the latest version and to get it run the DAWG test cases, which are finally nearing completion.

January 31, 2006 - Just to keep everyone on the same page and stop e-mails, there is a bug in SPARQL 0.7 that's pretty serious that duplicates variable bindings. The fix is already in CVS and will be soon be released as 0.71.

January 24, 2006 - The SPARQL for Sesame project was featured in a mini-article on Google Summer of Code projects in Dr. Dobbs, January 2006.

November 28, 2005 - SPARQL 0.7 was released today. SELECT * and CONSTRUCT queries should work now, and the visitor pattern has been redesigned in the pre-processor to be much more elegant.

November 3, 2005 - The alpha version of Sesame 2.0 was released with the SPARQL engine. It actually uses a source version that will become release 0.7, with some noted bugfixes.

October 2, 2005 - SPARQL 0.6 was released today. The most important part of this release is the increased efficiency of the engine. In some cases users should notice a several factor increase in performance, depending on what type of operations are used. There may be some compatibility issues with adapters, since some of the factory methods were changed to incorporate the better designed set logic.

Important Links:

Supporting RDF Servers

  • Sesame
  • SemWeb
  • Thanks To:

    YourKit is kindly supporting open source projects with its full-featured Java Profiler.
    YourKit, LLC is creator of innovative and intelligent tools for profiling Java and .NET applications.
    Take a look at YourKit's leading software products: YourKit Java Profiler and YourKit .NET Profiler.