- From: Tim Berners-Lee <timbl@w3.org>
- Date: Tue, 2 Aug 2005 11:27:24 -0400
- To: public-rdf-dawg-comments@w3.org
- Cc: Yosi Scharf <syosi@mit.edu>, Dan Connolly <connolly@w3.org>
The current last call draft states, "A value disjunction that encounters a type error on only one branch will return the result of evaluating the other branch." This seems to be a bug: inconsistent with the logic one would expect. It is inconsistent with the general rule that the disjunction of false with x is x for all x. The disjunction of false with a type error is therefore a type error. If not, the type error is masked. Example in english: An alarm should fire if either ?smokeDetected or the ?temperature is above 40. Suppose the ?smokeDetected is false and the temperature is (because of a bug) bound to something which can't be compared to 40 without a type error. The result should be that the alarm is a type error. Instead, with the wording above, the alarm is suppressed. Yosi Scharf found also that this rule for union means that de Morgan's laws don't hold properly, making the compilation and optimization of queries more difficult or impossible. Tim Berners-Lee MIT/CSAIL/DIG
Received on Tuesday, 2 August 2005 15:27:31 UTC