- From: Francis McCabe <frankmccabe@mac.com>
- Date: Tue, 9 Oct 2007 22:53:14 -0700
- To: public-rdf-dawg-comments@w3.org
This is a quote from the june 14th edition of the SPARQL document
Let SP := list of algebra expressions for sub-patterns of the group
Let F := all filters in the group (not in sub-patterns)
Let G := the empty pattern, Z, a basic graph pattern which is the
empty set.
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)
1. The variable SP is not mentioned again in the algorithm, and
presumably is not needed?
2. if SA is an algebra expression (as opposed to a pattern
expression), then presumably it cannot be of the form OPTIONAL
anything ... as one of the purposes of the algrebafication (sic) is
to eliminate optional clauses
3. On the other hand, immediately prior to this is the suggestion
that this is a recursive algorithm:
A group pattern is mapped into the SPARQL algebra as follows: first,
convert all elements making up the group into algebra expressions
using this transformation process recursively, then apply the
following transformation:
which implies that algebrafication (sic again) has already taken place.
4. What exactly, is implied by:
Let F := all filters in the group (not in sub-patterns)
Does this mean that all FILTER(constraint) expression should be
wrapped into a big conjunction prior to determining what to do with
them?
All in all, this section could do with some rigor. This should not be
impossible.
Frank McCabe
Received on Wednesday, 10 October 2007 05:53:34 UTC