SPARQL 1.0.3 and EBNF gems released

I've updated the SPARQL gem [1], which works with RDF.rb 1.0 and greater in pure Ruby (>= 1.8.7). This version has no new functionality, but is based on the SPARQL 1.1 grammar, rather than the SPARQL 1.0 grammar. In order to get the SPARQL 1.1 grammar to compile, I needed to re-create my LL(1) toolchain, which used some custom components along with some old SWAP rules. The new version uses a new EBNF gem [2], which parses W3C EBNF and generates LL(1) parser tables (first/follow and branch). It also includes a generic LL(1) parser core, which is used both by Turtle and TriG parser gems as well as SPARQL.

The EBNF gem will probably be of more interest to spec writers in the future, as it can validate EBNF grammars, turn them into BNF grammars and create generally usable parser tables. It will also be useful as a web service for generating grammar documentation, providing formatted HTML output of compliant grammars.

Having the SPARQL gem use the 1.1 grammar now enables the generation of more algebra operators to support more the more advanced features of SPARQL 1.1 query and update.

[1] https://rubygems.org/gems/sparql
[2] https://rubygems.org/gems/ebnf

Received on Wednesday, 6 March 2013 01:10:35 UTC