On Sat, 29 Nov 2008 22:39:24 -0500 Chris Welty <cawelty@gmail.com> wrote: > > > 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))) Why is this outside the language? The problem here is that without any kind of closed-world assumption or a unique name assumption the above leads to a disjunction, which cannot be taken apart, unlike in logic programming. So, with negative guards we are introducing negation through the back door, but do not inject the standard antidotes to keep disjunction away. michaelReceived on Sunday, 30 November 2008 05:05:51 GMT
This archive was generated by hypermail 2.2.0+W3C-0.50 : Tuesday, 2 June 2009 18:33:59 GMT