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@[]>
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 
>>"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.
>>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), 
>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 

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.
>>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 
>Not just editorial - will clear up in an "active graph" pass.


>>"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).


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

This archive was generated by hypermail 2.3.1 : Wednesday, 7 January 2015 15:00:53 UTC