Hi Gregg,

> Any thoughts on executing the parse result?

Yes.

The current Linked Data Fragments client [1] uses a precursor of this parse 
result
to execute SPARQL queries over Triple Pattern Fragment.
I will upgrade it to the new SPARQL.js library ASAP.

However, it is not a complete SPARQL executor yet.

> From my experience in the Ruby implementation, this is where the Algebra 
> really comes into play, as it becomes directly executable, and forms patterns 
> that can be used for algebraic optimization.

When implementing this parser, my main doubt was:
should I translate to SPARQL algebra,
or use a JSON format that better resembles the original query?

I eventually opted for that last solution, because
my experience implementing the aforementioned executor
was generally positive with that simple JSON format.
I think it might be less scary for people who want
a simple first experience with SPARQL in JavaScript.

Also see Claus' comment on this thread:

>> The syntax level is perfectly fine.
>> The Apache Jena framework also separates between the syntax and the algebra 
>> level, and offers transformations between the two represenatations.

That said, a more complex query executor
would definitely benefit from SPARQL algebra.
If I would build this, I'm unsure whether to start from the Jison document
or to simply transform the current generated JSON.

Best,

Ruben

[1] https://github.com/LinkedDataFragments/Client.js

Reply via email to