- From: Geoff Chappell <geoff@sover.net>
- Date: Wed, 3 Nov 2004 13:10:43 -0500
- To: "'Seaborne, Andy'" <andy.seaborne@hp.com>
- Cc: <public-rdf-dawg-comments@w3.org>
Hi Andy, Thanks for the reply. I just wanted to follow up on one item below. > -----Original Message----- > From: Seaborne, Andy [mailto:andy.seaborne@hp.com] > Sent: Wednesday, November 03, 2004 11:10 AM > To: Geoff Chappell > Cc: public-rdf-dawg-comments@w3.org > Subject: RE: Comments on SPARQL draft > [...] > > - Missing Value Assignment > > Assigment and the switch statement you describe imply a procedural view > of query execution. Currently, SPARQL is declarative and execution > order does not matter in functional terms. Hopefully, this allows > implmentations the freedom in optimization. Can you explain why you consider these to be procedural? For example, a switch case such as: Case condition_a: result_a Case condition_b: result_b Default: result_default Could be re-written as: (condition_a and result_a) or (not condition_a and condition_b and result_b) or (not condition_a and not condition_b and result_default) which admittedly requires disjunction and negation, two features not currently in the sparql draft, but doesn't require a procedural view of things. Similarly, I don't see how an assignment operator implies a procedural view of the world (as long as the same operator is used for both equality and assignment it doesn't even imply a necessary order of evaluation - is that what you mean by procedural in this instance?). OTOH, surely functions do imply an order of operations (i.e. for many functions, an optimizer would not be free to move a function evaluation to a point prior to where its arguments are bound to values). Do you consider this to mean that functions imply a procedural view of query execution? Thanks, Geoff
Received on Wednesday, 3 November 2004 18:11:11 UTC