- From: Pat Hayes <phayes@ihmc.us>
- Date: Wed, 22 Dec 2004 14:32:48 -0800
- To: Steve Harris <S.W.Harris@ecs.soton.ac.uk>
- Cc: RDF Data Access Working Group <public-rdf-dawg@w3.org>
>On Wed, Dec 22, 2004 at 08:43:48AM -0600, Dan Connolly wrote: >> > PREFIX : <http://example.org/ns#> >> > >> > SELECT ?person >> > WHERE (?person :email ?e1) >> > OPTIONAL { (?person :email ?e2) AND ?e2 NE ?e1 } >> > AND ! &dawg:bound(?e2) >> > >> > using the same method Steve had of using optional, then >>inverting the sense >> > of the match with dawg:bound. >> >> I thought dawg:bound was sort of wishful thinking in an earlier >> message... I had trouble finding it in the editor's draft... >> do you mean isBound in 11.2.2? >> http://www.w3.org/2001/sw/DataAccess/rq23/#sparqlTests > >It was wishful thinking when I was using it. I should have checked the >draft though. > >> "Return true if its argument, which may be an expression, is defined. >> NaNs and INFs count as defined." >> >> Surely the arguments to operators are the *values* of expressions, >> right? >> >> for example >> >> "fn:compare Compare two strings.. Returns -1, 0, or 1, according to the >> rules of the collation used." >> >> If I write >> fn:compare(?x, "abc") >> >> it's not comparing the 3-character string "?x" with the >> 5-character string '"abc"'; rather, it's comparing whatever >> ?x is bound to with the 3-character string "abc", right? >> >> So the specification of isBound has use/mention bugs... operators >> can't see variable names. isBound would have to be a language >> keyword, like UNSAID or SOURCE. > >Yes, but SQL for eg. has tri-value logic (true, false and NULL), so you >can meaningfully apply operators and functions to unbound values (NULL). > >I have said a few times that DAWG I think should come down off the fence >about tri-value logic. I agree. We should totally reject it. I once wrote a draft doctoral thesis on 3-valued logics. They are a total waste of time and a black hole. I can elaborate on why if anyone is interested, but please lets not even touch the idea of RDF being anything but 2-valued. Now, the idea of allowing operators to apply to unbound values is another matter, and I think it can be done without messing with the actual logic. Not being bound to a value is not the same as being bound to a 'null' value. 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 phayes@ihmc.us http://www.ihmc.us/users/phayes
Received on Wednesday, 22 December 2004 22:34:59 UTC