- From: Dave Beckett <dave.beckett@bristol.ac.uk>
- Date: Wed, 10 Aug 2005 17:05:47 +0100
- To: DAWG public list <public-rdf-dawg@w3.org>
I was wondering what changed as in the current rq23 ArgList is optional for function calls and this seemed like a syntax change. This took a little digging into the record so I'm recording what I found. I finally tracked it down to rq23 between CVS 1.451 and 1.452: [[ Revision 1.452 2005/08/04 10:57:36 aseaborne + Added "_" to start of variable names ~ Tidied up by intrpducing NCCHAR1p and making NCCHAR1 be NCCHAR1p | '_' ]] (for reference the last WD was around 1.432). This change seems to do a bit more than that: * FunctionCall is removed from Constraint * ConstructTemplate uses ConstructTriples for it's inner content * ConstructTriples added with content from above. * GraphTerm inlines the RDFTerm token and adds '(' ')' (empty collection) * BuiltInCall renamed from CallExpression and FunctionCall is removed as an option. * PrimaryExpression: CallExpression renamed to BuiltInCall Adds IRIref ArgList? Adds RDFLiteral | NumericLiteral | BooleanLiteral | BlankNode | Var Most of that is tidying or reasonable change but the addition that is the problem is IRIref ArgList? which is not the same as FunctionCall: IRIref ArgList which I'm guessing it was intended to be. If you want a test: PREFIX my: <http://example.org/> SELECT * WHERE { ?s ?p ?o . FILTER my:function } is legal according to my reading of rq23 whereas it used to be illegal. I assume the additional '?' is a mistake or have I missed something? Maybe just using FunctionCall instead would be easier. Dave
Received on Wednesday, 10 August 2005 16:05:57 UTC