W3C home > Mailing lists > Public > www-rdf-rules@w3.org > November 2003

Re: Rules WG -- draft charter -- NAF

From: Dan Connolly <connolly@w3.org>
Date: Mon, 24 Nov 2003 17:59:53 -0600
To: Drew McDermott <drew.mcdermott@yale.edu>
Cc: www-rdf-rules@w3.org
Message-Id: <1069718393.11774.88.camel@dirk.dm93.org>

On Mon, 2003-11-24 at 16:27, Drew McDermott wrote:
>    [Dan Connolly]
>    I've found cwm's log:includes and log:notIncludes mechanisms
>      http://www.w3.org/2000/10/swap/doc/Reach
>    useful for building a number of applications. I've tried
>    to figure out what it corresponds do in other systems, but
>    I'm not having much luck. It can't really be all that
>    novel, can it?
> Maybe other people thought about it, got nervous, and backed off!

Hmm... perhaps, but I'm getting the impression from elsewhere
in this thread that such mechanisms are old-hat.

> It's hard to give a precise semantics to log:includes because you're
> using the embedded formula in a twilight-zone way:

yes, twilight-zone is the feeling I mostly get when I try to
reconcile cwm's design with the logic literature I read, but...

> Here's one of your examples:
>   this log:forAll :x.
>   {:x :homePage log:includes { :x a :Vegetarian }}
>   => { :x a :Vegetarian}.
> The variable :x is quantified over objects,

... actually, the best guess I have for N3 semantics
is that :x is quantified over terms.

>  but the intended meaning
> of {A log:includes B} appears to be that B is found as an element of
> the document A.

log:includes corresponds quite nicely to the 'simple entailment'
notion from the RDF semantics. i.e. F log:includes G iff
G can be obtained from F by erasure and existential introduction.
(F and G range over formulas).

>   If that means that the formula B literally occurs as
> a triple in A, then we have to explain how to build a formula from an
> object and a formula with a variable to be bound to that object.
> I'm guessing, from the context, that the "semantic :homepage" of a
> person is the assertion (a big conjunction, presumably) obtained by
> parsing his or her webpage.


>   So the rule is actually not about
> triples, but instead means:
>    Forall :x
>      If the assertion made by :x's home page 
>          entails that :x is a vegetarian
>      then :x is a vegetarian
> How is "entails" defined?

In this case, as per RDF semantics. Existential-conjunctive logic.

>   I believe there are problems with allowing
> a predicate like this in a language (did Montagu write some papers on
> this?),

Yes, I'm still working my way thru various citations that
have been thrown my way...

>  but even putting the possibility of paradox aside, don't we
> have the problem that entailment includes the use of rules just like
> this one?

not unless we say so explictly, using log:conclusion.
(hmm... is that covered in the tutorial? I don't
see it...)

>   We can't define entailment without a big fixed-point
> construction of the sort beloved of nonmonotonic logicians.  Does the
> CWM inference engine attempt to embody that construction?

I'm not sure. I don't think so.

> Of course we get apparent weirdness such as 
> Fred's SW homepage:
>             {Sally :homePage log:notIncludes {Fred a :Vegetarian}}
> 	    => (Fred a :Carnetarian}
> Sally's SW homepage:
> 	    {Fred :homePage log:includes {Fred a :Carnetarian}}
> 	    => {Fred a :Vegetarian}
> where :Vegetarian and :Carnetarian are disjoint.  But we can just say
> the two pages have multiple fixed points, and therefore imply nothing
> about what Fred eats. 

Yeah, I don't see much of a problem from that example.

>                                              -- Drew
Dan Connolly, W3C http://www.w3.org/People/Connolly/
Received on Monday, 24 November 2003 18:59:55 UTC

This archive was generated by hypermail 2.4.0 : Friday, 17 January 2020 22:46:16 UTC