- From: Andy Seaborne <andy.seaborne@talis.com>
- Date: Tue, 22 Dec 2009 12:25:20 +0000
- To: Olivier Corby <Olivier.Corby@sophia.inria.fr>
- CC: SPARQL Working Group <public-rdf-dawg@w3.org>
On 21/12/2009 15:51, Olivier Corby wrote:
>> 8 Negation - Testing for the absence of a pattern
>>
>> I am not really happy that the EXISTS and NOT EXISTS pattern can be used
>> in a filter.
>>
>> Could you say why that is?
>
> It is a feeling about language design.
> Graph pattern is about graph match and filter is about evaluable
> expressions. Here we mix both and that looks strange to me...
>
>
>> Yes it can be combined with any other expressions. The effect of &&
>> can be achieved anyway but not ||.
>>
>> FILTER( EXISTS {?x :tax :exempt} || ?taxCode = :special )
> What about:
>
> {EXISTS {?x :tax :exempt}} union { NOT EXISTS {?x :tax :exempt}
> filter(?taxCode = :special) }
In full, we have
{
pattern
FILTER( EXISTS {?x :tax :exempt} || ?taxCode = :special )
}
then
{ pattern
EXISTS {?x :tax :exempt}}
union
{ pattern
NOT EXISTS {?x :tax :exempt}
}
and pattern has be duplicated doesn't it?. "pattern" may be quite
large. The FILTER form means the pattern occurs once.
>
>
>> The new variable is introduced using the keyword AS; it must not already
>> be potentially bound.
>> Do you have an suggestions for text changes?
> May be we can list the places where the 'variable' cannot be used ?
>
Sure - it'll be tricky langauge because of nested SELECTs.
A start is in: rq25.xml#ast_select_expressions
Andy
> Olivier
>
>
>
>
> ______________________________________________________________________
> This email has been scanned by the MessageLabs Email Security System.
> For more information please visit http://www.messagelabs.com/email
> ______________________________________________________________________
Received on Tuesday, 22 December 2009 12:25:43 UTC