- From: Drew McDermott <drew.mcdermott@yale.edu>
- Date: Mon, 24 Nov 2003 17:27:11 -0500 (EST)
- To: www-rdf-rules@w3.org
[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! It's hard to give a precise semantics to log:includes because you're using the embedded formula in a twilight-zone way: 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, but the intended meaning of {A log:includes B} appears to be that B is found as an element of the document A. 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? I believe there are problems with allowing a predicate like this in a language (did Montagu write some papers on this?), 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? 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? 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. -- Drew -- -- Drew McDermott Yale University CS Dept.
Received on Monday, 24 November 2003 17:27:17 UTC