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

Re: slotted notation -summary

From: Christian de Sainte Marie <csma@ilog.fr>
Date: Tue, 09 Jan 2007 16:56:34 +0100
Message-ID: <45A3BB32.5030106@ilog.fr>
To: Christian de Sainte Marie <csma@ilog.fr>
CC: Michael Kifer <kifer@cs.sunysb.edu>, "Public-Rif-Wg (E-mail)" <public-rif-wg@w3.org>

maybe an example could help you correct me.

Suppose we have a class Person, with attributes
   Class Person
      customerstatus: (GOLD, SILVER, BRONZE)
      age: interger
      revenue: integer

and we have an object of that class
   Bob(customerstatus->GOLD, age->25, revenue->100000)

It seems to me that I can translate this into a conjunction of binary 
   customerstatus(bob, GOLD) and age(Bob, 25) and revenue(Bob, 100000)
without adding or losing any information.

On the other hand, if I have the relational predicate
    Person(GOLD, 25, 100000)
I cannot transform it into the OO form without adding some kind of 
identifier for the person, which I may not need or want (e.g. if all my 
rule is concerned with is that these values are in that relation) or 
which may even not make sense in some cases.


Christian de Sainte Marie wrote:

> Michael Kifer wrote:
>> No, I said just the opposite! What you want is wrong.
>> When I said "You want to map ..." you misunderstood me.
>> This expression was supposed to explain what you should really want, 
>> if you
>> saw the issue clearly.
> Oh, ok, I get it. Btw, I certainly do not claim to see the issue clearly 
> (which is why I try to get a clearer view :-).
> So, what you say is that we should do, if anything is:
>>>> [...] to map the relational slotted notation to the OO slotted notation
>>>> - not the other way around. Relational slotted notation implies that 
>>>> object
>>>> Ids are inaccessible, while OO notation assumes that they are. So, 
>>>> you can
>>>> map OO to relational slots in a certain sense.
> I do not understand what you mean.
> Here is what I understood. It would help me if you pinpointed where I am 
> wrong:
> The relational slotted notation p(slot1->val1,...,slotn->valn) says that 
> the tuple (val1 ... valn) belongs to relation p, where val1 plays role 
> slot1 etc. The same expression, if it were in OO slotted notation, would 
> mean that object p has values vla1 to vlan in slots slot1 to slotn: so, 
> it certainly says that val1 to valn are related in the proper roles 
> (thus implying the relational notation); it also says that the relation 
> is embodied in object p, which the relational notation does not say 
> (thus the relational notation does not imply the OO notation).
> If this is (or, maybe, if this were) correct, one could transform from 
> OO slotted notation to relational, but not the reverse. Hence my proposal.
> You tell me that it is wrong: can you help me understannd why?
> Christian
Received on Tuesday, 9 January 2007 16:39:59 UTC

This archive was generated by hypermail 2.3.1 : Tuesday, 6 January 2015 21:47:41 UTC