Closed dwvisser closed 9 years ago
Are you sure this is valid SPARQL 1.1? If I look at the spec, I see that the BlankNodePropertyList ([99]) lists verbs (i.e. IRI/var) as possible property values, but not property paths
I think that TriplesSameSubjectPath allows this to be valid SPARQL, using
which leads into property paths.
Wait. I see your point. The construction I gave in my the second bullet of my last comment is only valid for the first predicate-object pair, not the subsequent ones, which is precisely what is manifesting here.
Hm. I think this may be an error in the SPARQL grammar. It certainly seems arbitrary to allow property paths in a blank node object for the first object after a subject/predicate pairing, but not for any subsequent ones. It doesn't look like this was done by design, to me. Agreed though that YASQE implements what the current spec prescribes.
If you have an EBNF for queries that sesame supports, it should be pretty straightforward to generate a JS grammar based on that. (see https://github.com/YASGUI/YASQE/tree/gh-pages/lib/grammar)
Thank you. I have tested and Sesame does successfully run the query, despite it not being valid according to the official SPARQL 1.1 grammar. I have posted the result on the Sesame issue tracker.
Here's the simplest query I find that reproduces the issue:
The issue seems to be occur whenever a graph pattern contains:
This bug is also filed at https://openrdf.atlassian.net/browse/SES-2255