- From: Richard Newman <rnewman@franz.com>
- Date: Sat, 22 Sep 2007 00:31:24 -0700
- To: public-rdf-dawg-comments@w3.org
DAWG, 12.2.2 has a minor error. ---- Example: group consisting of a basic graph pattern, a filter and an optional graph pattern: { ?s :p1 ?v1} FILTER (?v1 < 3 ) OPTIONAL {?s :p2 ?v2} } Filter( ?v1 < 3 , LeftJoin( BGP(?s :p1 ?v1), BGP(?s :p2 ?v2), true) , ) ---- Count the number of {s and }s. While I'm on the topic of 12.2.x, the algebra mapping algorithm in 12.2.1 is somewhat unclear, and contains at least one error: ---- for each algebra sub-expression SA: If SA is an OPTIONAL, If SA is of the form OPTIONAL(Filter(F, A)) G := LeftJoin(G, A, F) else G := LeftJoin(G, A, true) Otherwise for expression SA, G := Join(G, SA) ---- in the 'else' clause, 'A' is out of scope, so this doesn't make any sense. In a more general sense: it would probably aid the clarity of the document if the DAWG tried to write an AST -> Algebra converter using only the document as a reference, rather than writing the document with the experience of having written the code. I'm writing such a thing for the first time, and the document is not as clear as I would like. It would also be helpful in 12.2.2 to provide concrete (syntax, AST, algebra) triples, rather than only (syntax, algebra) pairs. At present I am having to basically guess the AST that the DAWG had in mind when writing this section. Regards, -R
Received on Saturday, 22 September 2007 09:33:08 UTC