- From: Eric Prud'hommeaux <eric@w3.org>
- Date: Mon, 12 Mar 2007 01:15:09 -0400
- To: Simon Raboczi <raboczi@itee.uq.edu.au>
- Cc: public-rdf-dawg@w3.org
- Message-ID: <20070312051508.GB13846@w3.org>
http://www.w3.org/2007/03/06-dawg-minutes commited for SimonR
* Simon Raboczi <raboczi@itee.uq.edu.au> [2007-03-11 19:31+1000]
> W3C
>
> RDF DAWG Weekly
>
> 6 Mar 2007
>
> Agenda
>
> See also: IRC log
>
> Attendees
>
> Present
> Souri Das
> Lee Feigenbaum
> Steve Harris
> Pat Hayes
> Eric Prud'hommeaux
> Simon Raboczi
> Andy Seabourne
> Elias Torres
> Regrets
> Chair
> Lee Feigenbaum
> Scribe
> Simon Raboczi
>
> Contents
>
> • Topics
> 1. housekeeping
> 2. review action items
> 3. unexpected/auto DISTINCT
> • Summary of Action Items
>
> ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
>
> housekeeping
>
> <LeeF> Minutes from the 20th Feb: http://lists.w3.org/Archives/Public/
> public-rdf-dawg/2007JanMar/att-0127/2007-02-20-dawg-minutes.html seconded by
> SimonR and approved.
>
> <LeeF> Minutes from 27th Feb: http://lists.w3.org/Archives/Public/
> public-rdf-dawg/2007JanMar/att-0123/27-dawg-minutes.html amended to show Jeen's
> regrets seconded by EricP and approved.
>
> (Jeen's amendment at http://lists.w3.org/Archives/Public/public-rdf-dawg/
> 2007JanMar/0125.html)
>
> ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
>
> Issue: daylight savings time will affect meeting schedules for american and
> european participants over the next several weeks. The possibility of moving
> DAWG's meeting times in response to this was discussed.
>
> <LeeF> decision: stay at 14:30 UTC
>
> review action items
>
> <LeeF> ACTION: LeeF to talk to SteveH and JeenB about auto distinct behavior in
> implementations [DONE] [recorded in http://www.w3.org/2007/03/
> 06-dawg-minutes.html#action01]
>
> (Discussion with Steve and Jeen at: http://lists.w3.org/Archives/Public/
> public-rdf-dawg/2007JanMar/0128.html )
>
> <LeeF> ACTION: EricP to run the yacker tool over and annotate the existing
> tests [CONTINUES] [recorded in http://www.w3.org/2007/03/06-dawg-minutes.html#
> action03]
>
> <LeeF> ACTION: EricP to add text to spec noting that ORDER BY comparisons may
> use extended implementations of < that operate on types beyond what's given in
> the operator table [CONTINUES] [recorded in http://www.w3.org/2007/03/
> 06-dawg-minutes.html#action04]
>
> <LeeF> ACTION: LeeF to remember that the wee, lost filter tests should be put
> [CONTINUES] [recorded in http://www.w3.org/2007/03/06-dawg-minutes.html#
> action05]
>
> <LeeF> action -2
>
> <LeeF> ACTION: AndyS to add text clarifying the prohibition on blank node
> labels in multiple BGPs to rq25 [DONE] [recorded in http://www.w3.org/2007/03/
> 06-dawg-minutes.html#action06]
>
> <LeeF> ACTION: LeeF or EliasT to reply to Bjoern regarding (not) POSTing
> application/sparql-query documents [CONTINUES] [recorded in http://www.w3.org/
> 2007/03/06-dawg-minutes.html#action07]
>
> unexpected/auto DISTINCT
>
> LeeF: Last week's call tended to favor exact cardinality results. Dissenters
> were SimonR (during the call) and SteveH in subsequent communication to LeeF.
> Jeen said could work with either.
>
> SimonR: Why do we care about cardinality? What is its logical meaning?
>
> EricP: FredZ told horror stories about the history of SQL, in which migration
> to "non-capricious DISTINCT" happened painfully.
>
> <AndyS> There 3 positions:
>
> 1. auto DISTINCT
> 2. defined # duplicates
> 3. anything in between is OK (loose)
>
> SteveH: Agrees with EricP's account of what FredZ said, but concerned that
> we're limiting possible indexing schemes.
> ... What happens if a triple occurs in two graphs? AndyS: One for each graph.
>
> <LeeF> <s> <p> ?o
>
> <LeeF> occuring in multiple graphs - get 1 solution per graph (w/ the same ?o)
>
> <LeeF> (3a) No way to say that auto-distinct is ok
>
> <LeeF> (3b) A "distinctable" keyword to allow 1 < #solutions < n
>
> <ericP> CONDENSED
>
> <AndyS> I'd prefer to provide defined output (for aggregates later). If impls
> choose to be indeterminate - fine but not in spec.
>
> <Souri> MIN, ALL, SOME
>
> <Souri> w.r.t cardinality
>
> <SimonR> It certainly becomes harder to do testing, if we permit multiple
> correct answers -- but we already have that problem. (eg without ORDER BY, etc)
>
> <EricP> In favor of DISTINCT, ALL, and reducible as the default
>
> <AndyS> Not in favor of that because most people will write the default case
>
> EricP: Now in favor of having an ALL keyword, with the default being reducible.
>
> <patH> Might this be handled by deft use of language? condesable is MUST but
> some clear option we choose is SHOULD, or somethng like that?
>
> <AndyS> It affects testing and wouldn't we'd need conformance language?
>
> The chair called a straw poll on the following five possible designs:
>
> 1. default is strict counting as per the algebra, no keyword to loosen the
> counting
> 2. default is strict counting as per the algebra, add a DISTINCTABLE keyword
> to loosen the counting
> 3. default is loose counting, no keyword to force strict counting
> 4. default is loose counting, add an ALL keyword to force strict counting
> 5. always distinct
>
> <AndyS> ARQ has external flag for "always distinct" - I think those sorts of
> issues are outside the language
>
> <LeeF> Andy: +1 on #1
>
> <LeeF> Simon: -1 on strict counting; +1 #5, +0.5 #3
>
> <LeeF> Souri: +1 #2
>
> <SteveH> SteveH: +1 #4, +0.9 #2, -1 #5 #1 is acceptable
>
> <AndyS> Andy's example: SELECT sum(?salary) { ?x :hasSalary ?salary }
>
> <SimonR> Response to Andy's query: SUM(?salary, SELECT ?person ?salary { ?
> person :salary ?salary })
>
> <AndyS> Simon: I wanted the minutes to record my example.
>
> ><SimonR> It's a good example. You see the point of the response, though? I
> choose the properties that serve to distinguish the salary values, in this case
> the people drawing them.
>
> <AndyS> And my response was that the burden is now on the app writer. This is
> for the minutes.
>
> LeeF: Unlikely to arrive at a decision before Andy needs to leave. Not quite
> sure how to proceed. EricP: Nothing that'll work in the next 10 minutes. :)
>
> SteveH: What if we required "loose" counting to be either DISTINCT or ALL, but
> not in between? EricP: Doesn't really help implementers.
>
> <patH> vote on 1-5: Pat: no very strong opinion, marginally like 2 best.
>
> <AndyS> Hmm - can change the CONSTRUCT answers!
>
> LeeF: Hoping to have QL document ready (minus perhaps just this issue) -- so
> reviews of rq25 must come in promptly.
>
> <ericP> vote: 1) +1, 2) +1, 3) -1, 4) +1
>
> <AndyS> e.g. CONSTRUCT { [] :salary ?sal } WHERE { ?x :salary ?sal }
>
> <SteveH> AndyS, as [] is a bNode, I don't think it changes anything
>
> AndyS: What are we proposing for next week re: LC LeeF: Propose that we make
> the decision of normative parts of document and DISTINCT issues.
>
> <AndyS> It does! A new one gets generated each template :-) So it, not lean, it
> counts the results!
>
> <SteveH> AndyS, but leaning is perfectly acceptable
>
> <SteveH> -> _:a :salary 100000 . _:b :salary 100000 .
>
> <AndyS> Yep - leaning is good here.
>
> <AndyS> SELECT sum(?salary) { ?x a :person . ?x :hasSalary ?salary }
>
> <SteveH> G1 { <person-a> :salary 100000 } G2 { <person-a> :salary 100000 }
>
> <SteveH> G1 { [ :salary 100000 ; :id 12 ] } G2 { [ :salary 100000 ; :id 12 ] }
>
> <ericP> G1 { [ :employeeId 21; :salary 100000 ] } G2 { [ :employeeId 21;
> :salary 100000 ] }
>
> <ericP> by a scant second
>
> <ericP> SELECT ?g ?id ?salary WHERE { GRAPH ?g { :employeeId ?id; :salary ?
> salary } }
>
> <SimonR> SUM(?salary, SELECT ?co ?id ?salary WHERE { GRAPH ?co { ?e :employeeID
> ?id . ?e :salary ?salary }}
>
> <ericP> SELECT ?g ?id ?salary WHERE { GRAPH ?g { ?who :employeeId ?id; :salary
> ?salary } }
>
> <ericP> SELECT SUM(?salary) WHERE { GRAPH ?g { ?who :employeeId ?id; :salary ?
> salary } }
>
> <ericP> 200000
>
> <Souri> SELECT ?x, SUM(?sal) { ?x a :Person . ?x :hasSalary ?salary } GROUP BY
> (?x) HAVING COUNT(*) > 1
>
> <Souri> :-)
>
> <ericP> ooo, HAVING COUNT... cool
>
> <patH> are we all talking the same language?
>
> <SimonR> patH, We're all talking our different, slightly preferred languages
> and trying to subvert each other. :)
>
> <patH> thanks, Simon.
>
> <ericP> SELECT SUM(?salary) WHERE { GRAPH ?g { ?who :employeeId ?id; :salary ?
> salary } } => 200000
>
> <ericP> SELECT SUM(?salary) WHERE { GRAPH <G1> { ?who :employeeId ?id; :salary
> ?salary } } => 100000
>
> <patH> Seems to me this is a lot of hassle to solve a problem that shouldnt
> even arise in RDF anyway.
>
> <SteveH> G1 { [ :employeeId 21; :salary 100000; :worksFor :A ] } G2 { [
> :employeeId 21; :salary 100000; :worksFor :B ] }
>
> <ericP> SELECT SUM(?salary) WHERE { GRAPH ?g { ?who :employeeId ?id; :salary ?
> salary; ?worksFor ?w } } => 200000
>
> <ericP> SELECT SUM(?salary) WHERE { GRAPH ?g { ?who :employeeId ?id; :salary ?
> salary; ?worksFor :B } } => 100000
>
> <SteveH> G1 { [ :employeeId 21; :salary 100000; :worksFor :A ] } G2 { [
> :employeeId 21; :salary 100000; :worksFor :B ] . [ :employeeId 21; :salary
> 100000; :worksFor :B ] }
>
> <ericP> pretty-printing that:
>
> <ericP> G1 { [ :employeeId 21; :salary 100000; :worksFor :A ] }
>
> <ericP> G2 { [ :employeeId 21; :salary 100000; :worksFor :B ] }
>
> <patH> If G2 is put into RDF using bnodes as subjects (case 1) then you will
> likely have two different bnodes. If you use URIs as subjects (case 2) then the
> redundancy will not get into the graph.
>
> Summary of Action Items
>
> [PENDING] ACTION: EricP to add text to spec noting that ORDER BY comparisons
> may use extended implementations of < that operate on types beyond what's given
> in the operator table [recorded in http://www.w3.org/2007/03/
> 06-dawg-minutes.html#action04]
> [PENDING] ACTION: EricP to run the yacker tool over and annotate the existing
> tests [recorded in http://www.w3.org/2007/03/06-dawg-minutes.html#action03]
> [PENDING] ACTION: LeeF or EliasT to reply to Bjoern regarding (not) POSTing
> application/sparql-query documents [recorded in http://www.w3.org/2007/03/
> 06-dawg-minutes.html#action07]
> [PENDING] ACTION: LeeF to remember that the wee, lost filter tests should be
> put [recorded in http://www.w3.org/2007/03/06-dawg-minutes.html#action05]
>
> [DONE] ACTION: AndyS to add text clarifying the prohibition on blank node
> labels in multiple BGPs to rq25 [recorded in http://www.w3.org/2007/03/
> 06-dawg-minutes.html#action06]
> [DONE] ACTION: LeeF to talk to SteveH and JeenB about auto distinct behavior in
> implementations [recorded in http://www.w3.org/2007/03/06-dawg-minutes.html#
> action01]
>
> [End of minutes]
> ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
>
> Minutes formatted by David Booth's scribe.perl version 1.128 (CVS log)
> $Date: 2007/03/06 16:05:58 $
--
-eric
office: +1.617.258.5741 NE43-344, MIT, Cambridge, MA 02144 USA
cell: +1.857.222.5741
(eric@w3.org)
Feel free to forward this message to any list for any purpose other than
email address distribution.
Received on Monday, 12 March 2007 05:15:20 UTC