W3C home > Mailing lists > Public > public-rif-wg@w3.org > December 2007

RE: Reminder: pending discussion "membership" (pending discussion on ACTION-350)

From: Paul Vincent <pvincent@tibco.com>
Date: Fri, 7 Dec 2007 00:54:36 -0800
Message-ID: <8F4A4531BB49A74387A7C99C7D0B0E0503655226@NA-PA-VBE02.na.tibco.com>
To: "Michael Kifer" <kifer@cs.sunysb.edu>, <axel@polleres.net>
Cc: "Public-Rif-Wg \(E-mail\)" <public-rif-wg@w3.org>
> 1. It imposes additional axioms, which are not commonly accepted.

> 2. It is also not even defined for classes specified using function
terms

>    (like list(?Foo)).

> 

> Both arguments are also applicable to the RDF membership relationship.

> 

> I am convinced that throwing out these primitives serves no purpose
and

> will just gratuitously cripple the BLD.

 

1. My take on this is that if there is at least one objection to using a
specific language definition (ie RDFS) for a RIF feature (ie BLD) then,
as RIF is meant to be language-neutral, then the language-specific
feature cannot be included as-is.

 

2. On an operational aspect, I assume we are still talking about "class
membership" as opposed to other "membership" aspects like list/array
membership. So this discussion does NOT impact PR rules like the
following:

 

If

     Rulevariable Customer // TIBCO declaration, ILOG rule variable,
Blaze pattern, etc

     Customer.accountNumber is a member of the array Fraudcases

Then

     // actions on relevant Customer object

 

> > p.s.: Note that I have to send regrets for the next Telecon, since I

> > will be travelling most likely (could be I get connection from train
or

> > airport, but no guarantees.)

 

[My regrets too, as I have a conflict with an early OMG Tech Meeting on
Tues.]

 

Cheers

 

Paul Vincent

TIBCO | ETG/Business Rules 

 

> -----Original Message-----

> From: public-rif-wg-request@w3.org
[mailto:public-rif-wg-request@w3.org]

> On Behalf Of Michael Kifer

> Sent: 07 December 2007 05:54

> To: axel@polleres.net

> Cc: Public-Rif-Wg (E-mail)

> Subject: Re: Reminder: pending discussion "membership" (pending
discussion

> on ACTION-350)

> 

> 

> 

> 

> CSMA had an action to bug me about the ## feature :-)

> I thought that others might also be interested, so I am including my

> arguments below.

> 

> First, one needs to be able to specify that one class is a subclass of

> another class **as part of the KB**. For instance,

> 

> student##person.

> father(person)##person.

> 

> In KB apps this is used for reasoning, not just as part of a data

> model. How would one specify this info otherwise?

> 

> Here is a more sophisticated example: parametrised lists.

> 

> list(?Subclass) ## list(?Super) :- ?Subclass ## ?Super.

> 

> (List of FOOs is a subclass of lists of BARs if FOO is a subclass of

> BAR. We could have list(father(person)), for example.)

> 

> RDF's subclassOf does not cut it because

> 

> 1. It imposes additional axioms, which are not commonly accepted.

> 2. It is also not even defined for classes specified using function
terms

>    (like list(?Foo)).

> 

> Both arguments are also applicable to the RDF membership relationship.

> 

> I am convinced that throwing out these primitives serves no purpose
and

> will just gratuitously cripple the BLD.

> 

> 

>     --michael

> 

> 

> 

> > Dear all,

> >

> > I was asked by Chris to remind again to forward again a reminder on
the

> > pending discussion about the special notation '#' for class
membership

> > and in RIF since this should be discussed in the upcoming Teleconf.

> >

> > In the last f2f I was asked to send a use case for this, where I
sent

> > the - obvious - RDF use case, see

> > http://lists.w3.org/Archives/Public/public-rif-wg/2007Sep/0184.html

> >

> > For your convenience I copy this here again:

> >

> > --------------------------------------------------------------------

> >

> > http://www.w3.org/2005/rules/wg/track/actions/350

> >

> > The class membership notation '#' is intended to reflect the common

> > feature of many rule and object oriented languages for being able to

> > express memebership of a class (or type?)

> >

> > A possible use for this is for RDF's rdf:type construct...

> >

> > To reflect this in the current RDF/RDFS embeddings, one could add to

> >

> > 1) Add to RDF embedding:

> >

> >     Forall ?c,?o ?o#?c :- ?o[rdf:type -> ?c]

> >

> >

> > ------- ACTION done, what follows is additional discussion ;-)
--------

> >

> > This alone, obviously doesn't make too much sense, but in connection

> > with the additional subclass notation '##' one could safe two rules

> > in the RDFS embedding:

> >

> > 2) Add to RDFs embedding:

> >

> >    Forall ?c1,?c2 ?c1##?c2 :- ?c1[rdfs:subclassOf-> ?c2]

> >

> > and remove:

> >    Forall ?x,?y,?z ?z[rdf:type -> ?y] :- And (?x[rdfs:subClassOf ->
?y]

> > ?z[rdf:type -> ?x]),

> >    Forall ?x,?y,?z ?x[rdfs:subClassOf -> ?z] :- And
(?x[rdfs:subClassOf

> > -> ?y] ?y[rdfs:subClassOf -> ?z]),

> >

> >

> > In total, the use of the special notation adds two rules and saves
us

> > two rules in the RDF/RDFS embedding.

> >

> > Pretty much equals out ;-)

> >

> > That's why I am absolutely neutral on whether we chould keep that

> > feature or no.

> >

> > Axel

> >

> > p.s.: Note that I have to send regrets for the next Telecon, since I

> > will be travelling most likely (could be I get connection from train
or

> > airport, but no guarantees.)

> >

> > --

> > Dr. Axel Polleres

> > email: axel@polleres.net  url: http://www.polleres.net/

 
Received on Friday, 7 December 2007 08:55:01 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Tuesday, 2 June 2009 18:33:44 GMT