- From: Dave Reynolds <der@hplb.hpl.hp.com>
- Date: Mon, 07 Jan 2008 16:22:10 +0000
- To: Michael Kifer <kifer@cs.sunysb.edu>
- CC: RIF WG <public-rif-wg@w3.org>
Michael Kifer wrote: > 5. For predicates, we have two options. > a. The simplest option is to say that a predicate, p(a,b,c,...), is false if > any of its arguments evaluates to _|_ in the interpretation. > > b. This option introduces a new truth value, called E (error) such that > ~E = E, E/\F=F, E/\T=E, E\/F=E, E\/T=T. Then we can say that > p(a,b,c,...) has truth value E if at least of of the args is _|_. > > The advantage of option (b) over option (a) is that we have an explicit > representation for errors. > The disadvantage is that it is much more complicated. Many results need > to be ported to account for this new truth value, and I did not check > this carefully. Quite possible that this idea breaks somewhere. > > I think option (b) is too much work for very little gain. > > > Comments? (esp. if anyone can see whether option (a) breaks somewhere) As Axel has already pointed out (b) seems to be the same as the SPARQL approach. So adopting this would simplify the life of implementers who want to support both (like us) and hence is preferable. How would (a) behave in a future dialect extension with negation? Using (b) then it is clear that both p(a,...) and not p(a, ...) yield E if any of the argument evaluates to _|_. Dave -- Hewlett-Packard Limited Registered Office: Cain Road, Bracknell, Berks RG12 1HN Registered No: 690597 England
Received on Monday, 7 January 2008 16:22:37 UTC