- From: Chris Welty <cawelty@gmail.com>
- Date: Sat, 29 Nov 2008 22:39:24 -0500
- To: Jos de Bruijn <debruijn@inf.unibz.it>
- CC: RIF WG <public-rif-wg@w3.org>
Thanks, Jos. This gets me wondering. Clearly the converse of Jos' test case also holds, e.g. that: Document( Prefix(ex http://example.com/example#) Prefix(pred http://www.w3.org/2007/rif-builtin-predicate#) Group( ex:p(ex:a) Forall ?x (q(?x) :- And (ex:p(?x) External(pred:isInteger(ex:a)))))) |= (or q(ex:a) External(pred:isNotInteger(ex:a))) However, the entailment is outside the language - the syntax is not valid. But in general we have the case that: Document( Prefix(ex http://example.com/example#) Prefix(pred http://www.w3.org/2007/rif-builtin-predicate#) Group( ex:p(ex:a) Forall ?x (q(?x) :- And (ex:p(?x) ex:r(?x)) ) )) |= (or q(ex:a) (not (ex:r(ex:a))))) Again, this entailment is outside the language, but we get here without negative guards. The fact is DeMorgan's law just puts us here. Maybe we should just be saying, "so what". If it is outside the language it isn't entailed. -Chris Jos de Bruijn wrote: > I created a test case concerning disjunctive entailment from negative > guards that does not involve equality (and the rule is safe). In > hindsight, it is actually kind of obvious; just an application of > DeMorgan's. Silly that I didn't think of it before. > > http://www.w3.org/2005/rules/wiki/Disjunctive_Information_from_Negative_Guards_3 > > With the proposed hasNotDatatype predicate you have exactly the same > issue: adding a hasNotDatatype as a conjunct to the body is equivalent > to adding hasDatatype as a disjunct to the head. > > > Best, Jos -- Dr. Christopher A. Welty IBM Watson Research Center +1.914.784.7055 19 Skyline Dr. cawelty@gmail.com Hawthorne, NY 10532 http://www.research.ibm.com/people/w/welty
Received on Sunday, 30 November 2008 03:40:15 UTC