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

Re: matching existing existentials in the consequent.

From: naudts guido <naudts_vannoten@yahoo.com>
Date: Mon, 21 Apr 2008 08:07:44 -0700 (PDT)
To: cwm <public-cwm-talk@w3.org>
Message-ID: <309943.12095.qm@web36306.mail.mud.yahoo.com>

Hallo Jeff,
the consequent is the conclusion of the antecedents (modus ponens).
The triples in the consequent part should not be matched with data triples? 
I see the rule as creation of triples and isn't that how the forward reasoners are
implemented? When a rule is 'executed' the consequent triples are added to the database?
So my rule will create in this interpretation following triples:
:blank_node a flightOrder; :name :Peter; :name :John.
if the blanknode is considered to be unique.
Well, I see now that it would still work, but I do not like too much the construction.
I would prefer:
:blank_node1 a flightOrder; :name :Peter.
:blank_node2 a flightOrder; :name :John.
which would give an id to the flightOrder. 

Greetings, Guido
 

----- Original Message ----
From: Jeff Thompson <jeff@thefirst.org>
To: naudts guido <naudts_vannoten@yahoo.com>
Sent: Sunday, April 20, 2008 7:08:47 PM
Subject: Re: matching existing existentials in the consequent.

naudts guido wrote:
> Hallo,
> OK to replace existentials in the consequent in the given example, but what with the following:
> {?person :orders :flight} => { [a :flightOrder; :name ?person]}.
> 
> In accordance with forward reasoning where the consequent of a rule creates a new triple,
> the rule above creates a triple : some_blank_node a :flightOrder; :name some_person.
> Now if we have: 
> :John :orders :flight. and :Peter :orders :flight.
> we do want the :flightOrders to be different.

The :flightOrders would still be different as you want because ?person is different.
That is, if the graph already contains {[a :flightOrder; :name :Peter]}, then this
will not satisfy the consequent of the rule for {:John :orders :flight} because
:John and :Peter are not the same ?person.

> ----- Original Message ----
> From: Jeff Thompson <jeff@thefirst.org>
> To: public-cwm-talk@w3.org
> Sent: Sunday, April 20, 2008 9:17:28 AM
> Subject: Re: matching existing existentials in the consequent.
> 
> 
> Dan Connolly wrote:
>  >> 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?
>  >
>  > Perhaps... cwm does some redundancy checking, but it's
>  > not smart enough to realize that
>  >
>  >  :bob :owns [a :Cat]
>  >
>  > is redundant w.r.t.
>  >
>  >  :bob :owns :fluffy. :fluffy a :Cat.
> 
> I must beg to differ, because cwm is smart enough to realize this in the antecedent.
> For example, the following matches with {:bob :owns :fluffy} as expected:
> bob owns fluffy.
> fluffy a Cat.
> {?x owns [a Cat]} => {?x a CatOwner}.
> 
>  > The problem of figuring out which part of the conclusion is
>  > redundant is pretty hard. It's called the subgraph isomorphism
>  > problem, I gather.
> 
> Am I mistaken?  It seems that cwm can find the subgraph isomorphism in the antecedent.
> 
> 
> 
> 
> 
> 
> 
> 
> 
>       ____________________________________________________________________________________
> Be a better friend, newshound, and 
> know-it-all with Yahoo! Mobile.  Try it now.  http://mobile.yahoo.com/;_ylt=Ahu06i62sR8HDtDypao8Wcj9tAcJ
> 
> 
> 






      ____________________________________________________________________________________
Be a better friend, newshound, and 
know-it-all with Yahoo! Mobile.  Try it now.  http://mobile.yahoo.com/;_ylt=Ahu06i62sR8HDtDypao8Wcj9tAcJ
Received on Monday, 21 April 2008 15:08:25 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Monday, 21 April 2008 15:08:31 GMT