Open jakubklimek opened 7 years ago
Yes it executes even if invalid in SPARQL 1.1, using triples gathered from WHERE clause but ignoring structures like extra {..} and OPTIONAL. I can't promise that this behavior will become valid in SPARQL 1.2 but if enough people will like it then chances are high.
One of popular purposes of CONSTRUCT WHERE is to get most of source data of a simple SELECT query, e.g., to reproduce the case on other box, by replacing WITH
This query is invalid, but Virtuoso executes it:
It is invalid because it is syntactic sugar for
and it is invalid to have OPTIONAL in CONSTRUCT clause.