- From: Tim Berners-Lee <timbl@w3.org>
- Date: Sun, 20 Apr 2008 06:02:16 +0800
- To: Jeff Thompson <jeff@thefirst.org>
- Cc: cwm talk <public-cwm-talk@w3.org>
Jeff, Good question. Of course bob a :CatLover; :owns :fluffy, [a :Cat]. does not mean he owns *another* Cat. It means he owns fluffy, and he owns a cat. Those of us who know fluffy is a cat know that the second part of it, {:bob :owns [ a :Cat ]} doesn't give us any new information. The resulting graph, then is not 'lean' in the sense that you can remove some triples from it without it losing any information. The question for cwm is whether when it concluded {bob :owns [ a :Cat ]} whether it should have asked itself whether or not it already knew {bob :owns [ a :Cat ]} . Cwm has varied in that at times during its evolution. It obviously takes more time to actually check the store. I think the current version (speaking from vague memory, unchecked -- I'm in a plane about to land) it does not check whether the store already holds (or implies) the conclusion, but it does chaeck that the bindings { ?x -> bob } have not been seen before. Tim On 2008-04 -11, at 12:27, Jeff Thompson wrote: > > Consider the following: > > alice a CatLover. > bob a CatLover. > bob owns fluffy. > fluffy a Cat. > {?x a CatLover} => {?x owns [a Cat]}. > > As expected, cwm --think knows that alice is a CatLover, so asserts > that she > owns [a Cat]: > > :alice a :CatLover; :owns [a :Cat]. > > However, bob already owns Fluffy who is a Cat, but cwm seems to > ignore this and asserts that > he owns another Cat: > > :bob a :CatLover; :owns :fluffy, [a :Cat]. > > I ask because cwm will match existing existentials in the > antecedent, so shouldn't > it also match them in the consequent, and just leave it as bob owns > Fluffy without > adding another assertion? > > Thanks, > - Jeff >
Received on Saturday, 19 April 2008 22:02:52 UTC