W3C home > Mailing lists > Public > public-cwm-talk@w3.org > April to June 2008

Re: matching existing existentials in the consequent.

From: Jeff Thompson <jeff@thefirst.org>
Date: Tue, 22 Apr 2008 09:57:04 -0700
Message-ID: <480E18E0.4000605@thefirst.org>
To: cwm talk <public-cwm-talk@w3.org>

On second thought, I realize that I am asking cwm to violate the closed world assumption.
For the rule
{?x a CatLover} => {?x owns [a Cat]}.
if I want cwm to first check if the consequent already exists before it asserts it again,
I am really asking for an (illegal) rule like this:
{?x a CatLover. NOT {?x owns [a Cat]}} => {?x owns [a Cat]}.

In other words, this asks cwm to prove a negative before it asserts the consequent.

Tim Berners-Lee wrote:
> 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 Tuesday, 22 April 2008 16:57:44 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Tuesday, 22 April 2008 16:57:49 GMT