- From: Seaborne, Andy <andy.seaborne@hp.com>
- Date: Fri, 09 Jun 2006 14:51:28 +0100
- To: Jan Wielemaker <wielemak@science.uva.nl>
- CC: public-rdf-dawg-comments@w3.org
Jan Wielemaker wrote:
> Hi,
>
> One more:
>
> 114 ?- show_test('syntax-function-01.rq').
> PREFIX q: <http://example.org/>
> SELECT * WHERE { FILTER (q:name()) }
>
> Following rules Constraint [27] and FunctionCall [28], I think this is not
> allowed by the syntax. Should be FILTER q:name(). Right?
>
> Cheers --- Jan
Both are legal: A FILTER can take a bare function call, including the
built-in functions, or a bracketted expression. A bracketted expression can
be (x:func())
[56] BrackettedExpression ::= '(' Expression ')'
and Expression eventually gets to PrimaryExpression:
[55] PrimaryExpression ::= BrackettedExpression | BuiltInCall |
IRIrefOrFunction | RDFLiteral | NumericLiteral | BooleanLiteral | BlankNode | Var
[59] IRIrefOrFunction ::= IRIref ArgList?
Andy
Received on Friday, 9 June 2006 13:51:48 UTC