- From: Geoff Chappell <geoff@sover.net>
- Date: Wed, 30 Mar 2005 08:22:57 -0500
- To: <andy.seaborne@hp.com>
- Cc: <public-rdf-dawg-comments@w3.org>
> -----Original Message----- > From: Seaborne, Andy [mailto:andy.seaborne@hp.com] > Sent: Wednesday, March 30, 2005 7:53 AM > To: Geoff Chappell > Cc: public-rdf-dawg-comments@w3.org > Subject: Re: Testcase comment and question > > > There seems to be a problem where - evaluation of an expression that leads > to a > failure (here - unbound variable) does not lead to true/false condition > that can > be negated. > > "Fail" becomes 'reject solution' but also not("Fail") becomes 'reject > solution'. > > Passing a filter means that it is a positive claim to be true. For > unboudn > variables, it is not known either way what the state of the constraint is, > so > the solution is not part of the results. Open world assumption : if the > price > is unknown, then we can't allow either "?price < 15" nor allow "?price >= > 15". I think your observation may be getting at the heart of the matter. The negation that is introduced via OPTIONAL isn't open world - as negation as failure it's explicitly closed. If the negation within constraints is evaluated under an open world assumption we end up with a mismatch that creates odd results. So my suggestion (in a separate post to the comments list) that the boolean effective value of an unbound variable is false is essentially a suggestion to treat negation within constraints as closed world (negation as failure) -- that's why it solves my problems. It looks to me like your group has to make a decision about the nature of negation within constraints (unless you already have?). It may be difficult to reconcile the different world assumptions if you decide that it is open. Geoff
Received on Wednesday, 30 March 2005 13:23:35 UTC