Re: comments on section 12 (and a little more)

>Pat Hayes wrote:
>>Overall comment (important).
>>
>>There is a disconnect between the ideas of 
>>dataset and graph, which I think needs to be 
>>fixed. Section 8 discusses datasets in great 
>>detail with many examples, but it nowhere 
>>actually defines explicitly which RDF graph is 
>>determined to be the one that BGPs are required 
>>to match against. Section 12.3.2 defines 
>>matching for BGPs, but speaks of matching to a 
>>dataset (mia culpa). Section 12.5 finally 
>>introduces and uses the terminology "active 
>>graph", but it does not formally define this 
>>notion or say how it is computed. (See detailed 
>>comments of 12.5 below) In any case, it is far 
>>too late in the document for this idea to be 
>>defined.
>>
>>"Active graph" is a basic concept which should 
>>be defined in section 8, which should give 
>>clear criteria for how to determine it given a 
>>query and a dataset. Then 12.3.2 should use 
>>this term when defining BGP matching, and the 
>>references in 12.3.2 and 12.5 should have 
>>internal links to the definition in section 8.
>...
>
>>12.4
>>
>>Definitions here all refer to 'mappings'. As we 
>>have defined a number of different mappings, 
>>say which one of them is intended.
>
>Now uses "solution mapping"
>
>>Defn of filter: "an expression that has a 
>>boolean effective value of true"  Is this 
>>verbiage really necessary? You havn't used the 
>>phrase "boolean effective value" elsewhere. Why 
>>not just say "an expression with the value 
>>true" ?
>
>"effective boolean value" is used in section 
>11.2.2 Evaluation of an expression is turned 
>into a boolean value by the BEV rules (which are 
>directly from XML F&O).
>
>     *  If the argument is a typed literal with a 
>datatype of xsd:boolean, the EBV is the value of 
>that argument.
>     * If the argument is a plain literal or a 
>typed literal with a datatype of xsd:string, the 
>EBV is false if the operand value has zero 
>length; otherwise the EBV is true.
>     * If the argument is a numeric type or a 
>typed literal with a datatype derived from a 
>numeric type, the EBV is false if the operand 
>value is NaN or is numerically equal to zero; 
>otherwise the EBV is true.
>     * All other arguments, including unbound arguments, produce a type error.
>
>But it should be "effective boolean value", which I've fixed.

OK, I guessed it was a technical phrase, but couldn't find it.

>
>>
>>Is "card[Filter(expr, â?¡)](Ãâ ) = card[â?¡](Ãâ 
>>)" really true? Surely the filter can reduce 
>>the cardinality, no??
>
>No - not the cardinality.  It wouldn't be in the 
>domain of the cardinality function if it's been 
>removed.  The cardinality function is 
>multiplicity of a given mapping, not the size of 
>the whole multiset.  Cardinality is never zero - 
>removing something is removing it from the set.

Ok, I give in. I don't follow this, but that's my problem. (but see below)

>
>>Defn Join: "sum over Ãâ  in (â?¡1  set-union 
>>â?¡2), card[â?¡1](Ãâ 1)*card[â?¡2](Ãâ 2)" What 
>>does this mean? The sum expression doesnt 
>>contain Ãâ .
>
>card[Join(Ω1, Ω2)](Î1Ž4) =
>     sum over Î1Ž4, where  Î1Ž4 = merge(Î1Ž41, 
>Î1Ž42), in (Ω1 set-union Ω2), 
>card[Ω1](Î1Ž41)*card[Ω2](Î1Ž42)
>
>The same Î1Ž4 may occur for different choices of Î1Ž41, Î1Ž42.
>
>(I was avoiding writing big sigma here because I 
>don't know how to typeset it in HTML in any sort 
>of portable way).

Fair enough, but its hard to follow in this form. 
Add some words to explain it, maybe?

>
>>
>>Defn. Diff; again, is that equation for the cardinality really true?
>>Similarly for the union case: surely one only 
>>gets the sum of the cardinalities when the 
>>original sets are disjoint.
>
>Diff: A solution mapping in the diff is ony 
>there if it is in the LHS (Ω1). It's 
>cardinality is the same as the LHS cardinality 
>(cardinality of zero is not how elements are 
>excluded - they just aren't in the set part of 
>the multiset).
>
>Union: yes - it's additive (which is not the 
>definition of "union of multisets", which is 
>max()).

OK. I was hallucinating set talk onto multisets. 
Im not used to thinking in this way, and it was 
getting late when I read this stuff :-)

>
>>
>>Is the C in [x | C]  a condition on the 
>>sequence or on the elements of the sequence?
>"""
>Write [x | C] for a sequence of elements where C(x) is true.
>"""
>
>----
>Swapping Distinct and Project to be the order they are elsewhere.
>
>>---------
>
>
>>12.5
>>
>>What is the range of eval? Its hard to read 
>>expressions like "Join(eval(D(G), P1), 
>>eval(D(G), P2))" without knowing this :-)
>
>Good point!
>
>
>>
>>What is the "active graph" exactly? (See first comment.)
>>
>>Its not clear (to me) what it means to say that 
>>the active graph is "initially" the default 
>>graph. (Initially? How did time get into the 
>>question?)
>
>Not just editorial - will clear up in an "active graph" pass.

OK.

>>Suggest
>>"eval(D(G), BGP) = multiset of solution 
>>mappings" -> "eval(D(G), BGP) = multiset of all 
>>distinct solution mappings for BGP from G" 
>>(assuming that the earlier suggested changes 
>>are made so this makes sense.)
>
>There can be repeated solution mappings (if 
>there were blank nodes in the pattern).
>
>(need to send email now because we have CVS merge problems).

OK.

Pat
-- 
---------------------------------------------------------------------
IHMC		(850)434 8903 or (650)494 3973   home
40 South Alcaniz St.	(850)202 4416   office
Pensacola			(850)202 4440   fax
FL 32502			(850)291 0667    cell
phayesAT-SIGNihmc.us       http://www.ihmc.us/users/phayes

Received on Thursday, 22 March 2007 16:39:48 UTC