Re: SPARQL results in RDF

The where clauses for CONSTRUCT are not restricted.

CONSTRUCT WHERE {} is a shorthand for CONSTRUCT {} WHERE {} and the first
of those two patterns is restricted. It has to be because the target graph
is created from that pattern by substitution, not any evaluation.

Barry


On Wed, Sep 25, 2013 at 3:10 PM, Sven R. Kunze <
sven.kunze@informatik.tu-chemnitz.de> wrote:

> On 09/25/2013 04:02 PM, Dave Reynolds wrote:
>
>> On 25/09/13 14:57, Sven R. Kunze wrote:
>>
>>> On 09/25/2013 03:53 PM, Dave Reynolds wrote:
>>>
>>>> Hi Damian,
>>>>
>>>> On 25/09/13 14:16, Damian Steer wrote:
>>>>
>>>>> On 25/09/13 12:03, Stuart Williams wrote:
>>>>>
>>>>>> On 25/09/2013 11:26, Hugh Glaser wrote:
>>>>>>
>>>>>>> You'll get me using CONSTRUCT soon :-)
>>>>>>> (By the way, Tim's actual CONSTRUCT WHERE query isn't allowed because
>>>>>>> of the FILTER).
>>>>>>>
>>>>>>
>>>>>> Good catch... yes - I've been bitten by that kind of thing too... that
>>>>>> not all that's admissible in a WHERE 'body', is admissible in a
>>>>>> CONSTRUCT 'body'.
>>>>>>
>>>>>
>>>>> As far as I'm aware it is -- Tim's original simply misplaced a curly
>>>>> brace. The filter ought to be in the WHERE body.
>>>>>
>>>>> CONSTRUCT is essentially SELECT with a tabular data -> rdf system
>>>>> bolted
>>>>> at the end of the pipeline.
>>>>>
>>>>
>>>> I think the point people were making is that the syntactic shortform
>>>> "CONSTRUCT WHERE" with implicit template only applies when you have a
>>>> simple basic graph pattern [1].
>>>>
>>>> If the WHERE clause is more complex, e.g. with a FILTER, then you need
>>>> an explicit construct template.
>>>>
>>>> Dave
>>>>
>>>> [1] http://www.w3.org/TR/sparql11-**query/#constructWhere<http://www.w3.org/TR/sparql11-query/#constructWhere>
>>>>
>>>>
>>>>
>>> How did you come to that conclusion?
>>>
>>
>> Based on the part of the specification given by link [1] above, which
>> says (my emphasis):
>>
>> "A short form for the CONSTRUCT query form is provided for the case where
>> the template and the pattern are the same and the pattern is just a basic
>> graph pattern **(no FILTERs and no complex graph patterns are allowed in
>> the short form)**."
>>
>> Dave
>>
>>
> I see, Dave. However, my intention was to understand the reason behind
> that decision. This quote is not a justification, just a description of
> what's expected to work.
>
> I can't see why restricting the set of where clauses is necessary.
>
>
> --
> Sven R. Kunze
> Technische Universität Chemnitz
> Department of Computer Science
> Distributed and Self-organizing Systems Group
> Straße der Nationen 62
> D-09107 Chemnitz
> Germany
> E-Mail: sven.kunze@informatik.tu-**chemnitz.de<sven.kunze@informatik.tu-chemnitz.de>
> WWW: http://vsr.informatik.tu-**chemnitz.de/people/kunze<http://vsr.informatik.tu-chemnitz.de/people/kunze>
> Phone: +49 371 531 33882
>
>
>

Received on Wednesday, 25 September 2013 14:23:37 UTC