- 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