From: Seaborne, Andy <andy.seaborne@hp.com>

Date: Tue, 05 Dec 2006 12:08:12 +0000

Message-ID: <4575612C.1040506@hp.com>

To: Jeen Broekstra <jeen.broekstra@aduna-software.com>

CC: dawg mailing list <public-rdf-dawg@w3.org>

Date: Tue, 05 Dec 2006 12:08:12 +0000

Message-ID: <4575612C.1040506@hp.com>

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 BroekstraReceived on Tuesday, 5 December 2006 12:08:32 GMT

*
This archive was generated by hypermail 2.3.1
: Tuesday, 26 March 2013 16:15:27 GMT
*