- From: Seaborne, Andy <andy.seaborne@hp.com>
- Date: Tue, 05 Dec 2006 12:08:12 +0000
- To: Jeen Broekstra <jeen.broekstra@aduna-software.com>
- CC: dawg mailing list <public-rdf-dawg@w3.org>
Jeen Broekstra wrote:
> I just finished a group read, with a few colleagues, of the current
> algebra document, and here is some initial feedback, observations both
> from myself and from my colleagues.
Version 1.12 I hope. Date 1/Dec.
> We concentrated on section X.2, so
> that is what all my comments are about. It is a bit difficult to
> pinpoint passages in the doc, I'll try and make it clear by quoting
> relevant passages.
Thanks for the comments.
I'd appreciate comments on section X.1.1 as well, where the transformation
from syntax to abstract query happens.
>
> ----------
> Directly under the definition of substitution function, mu_0 is
> introduced. Then it says:
>
> "Write Omega_0 for the multiset consisting of exactly the empty mapping
> with cardinality 1."
>
> Two comments:
> - I assume that with 'empty mapping' you mean mu_0?
Yes. Changed to "empty mapping mu_0"
> - please add a comma between 'mapping' and 'with'. I spent five minutes
> trying to figure out how an empty mapping could have cardinality 1...
Done :-)
>
> ----------
>
> "Write Omega(?x -> t) for the multiset consisting of exactly mu(?x -> t
> : {{ (x, t) }} with cardinality 1".
>
> This was rather opaque on first read. I'd rephrase to simply:
> "Omega(?x -> t) is the multiset { mu(?x -> t) } with cardinality 1".
I wanted to mention the notation from the line before.
What about:
"Write Ω(?x->t) for multiset consisting of exactly μ(?x->t),
that is, { { (x, t) } } with cardinality 1."
>
> ---------
> Defn: Compatible mappings
>
> "...for every variable v in dom(mu_1) and in dom(mu_1), ..."
>
> second mu_1 should be mu_2.
Corrected.
>
> -----------
> Defn: Filter
>
> Filter(expr, Omega) is presumably a multiset itself, that should be
> specified more precisely (curly bracket notation may lead ppl to think
> it's a normal set).
A mutiset is defined by the pair of a set and a cardinality function over that
set. That's why {} is used - it is defining a set.
It says earlier:
[[
@@A note about multisets: set and a cardinality function
]]
for now:
http://en.wikipedia.org/wiki/Multiset
:-)
>
> The last line defines:
>
> card[Filter(expr, Omega)](mu) = card[Omega](mu)
>
> Presumably that seeks to define that the filter has no influence on
> duplicates. The definition however does not hold for all mu but only for
> those mappings that are in the filtered set. For mappings in Omega that
> are not in the filtered set, the cardinality is (obviously) different.
True: but then card[Filter(expr, Omega)](mu) is not defined for mu not in the
set of Filter(expr, Omega). That's defined
[[
Write card[Ω](μ) for the cardinality of μ in a multiset of mappings Ω.
]]
where Ω is Filter(expr, Omega) here
but I've added an @@ to flesh that out.
>
> -------
> Defn: join
>
> "Let Omega_1 and Omega_2 be sets of mappings"
>
> Shouldn't they be multisets?
Yes - fixed.
>
> "Join(Omega_1, Omega_2) = { mu_1 union mu_2 ... }"
>
> With 'union' you presumably mean 'set-union', I'd use that to have the
> same term everywhere consistently.
Yes.
No - it's union of Omega_1 and Omega_2
card[Join(Ω1, Ω2)](μ) = sum over μ in (Ω1 set-union Ω2), card[Ω1](μ1)*card[Ω2](μ2)
(I had notation difficulties here - I want to write big-U i = .... but xHTML
is not friendly and we can't assume MathML or particular fonts everywhere.
And images don't scale).
>
> -----
>
> Defn: Diff
>
> At this point we got a bit lost. I have difficulties grokking why the
> definitions of Diff and LeftJoin include an expression as one of the
> operands. I can't even comment on how to rephrase this as I simply don't
> quite understand it (yet; I'll keep puzzling), but I would be much
> happier with a more 'standard' definition of both operators that just
> takes two operands, and then later on introduce the filter expression
> (if needed).
>
> At the very least I could use some clarification here :)
http://lists.w3.org/Archives/Public/public-rdf-dawg/2006OctDec/0115.html
http://lists.w3.org/Archives/Public/public-rdf-dawg-comments/2006Oct/0030.html
http://lists.w3.org/Archives/Public/public-rdf-dawg-comments/2006Oct/0031.html
>
> ------
>
> This is as far as I got for now, I hope this is of some use. More later,
> hopefully.
I look forward top the next batch,
Andy
>
> Regards,
>
> Jeen Broekstra
Received on Tuesday, 5 December 2006 12:08:32 UTC