W3C home > Mailing lists > Public > public-rdf-dawg@w3.org > January to March 2007

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

From: Pat Hayes <phayes@ihmc.us>
Date: Thu, 22 Mar 2007 11:38:00 -0500
Message-Id: <p06230908c2285fa6de36@[10.100.0.26]>
To: "Seaborne, Andy" <andy.seaborne@hp.com>
Cc: RDF Data Access Working Group <public-rdf-dawg@w3.org>

>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 GMT

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