W3C home > Mailing lists > Public > public-rif-wg@w3.org > March 2009

Re: [PRD] Proposal for object representation (and ACTION-592 complete)

From: Michael Kifer <kifer@cs.sunysb.edu>
Date: Mon, 9 Mar 2009 19:21:54 -0400
To: Christian de Sainte Marie <csma@ilog.fr>
Cc: RIF WG <public-rif-wg@w3.org>
Message-ID: <20090309192154.4017e6c5@kiferdesk>
In oo logic languages, x.p is the same as the ?y in x[p->?y].
So, instead of writing something like x[p->?y] and foo(?y) and z[q->?y]
you can equivalently write

   foo(x.p) and z[q->x.p]
or even
   foo(x.p) and z.q = x.p.

You might also have these facts:

x[p->1]             foo(1)
x[p->2]             foo(2)              z[q->2]
x[p->3]             foo(3)              z[q->3]
                    foo(4)              z[q->4]

Thus, x.p ranges over 1,2,3 and z.q over 2,3,4.
The above two conjunctions are satisfied by

x[p->2]             foo(2)              z[q->2]
x[p->3]             foo(3)              z[q->3]

(or, in other words, by x.p=z.q=2 and x.p=z.q=3).

So, there is no real difference in terms of multivaluedness between frames and
path expressions.


On Mon, 09 Mar 2009 20:59:42 +0100
Christian de Sainte Marie <csma@ilog.fr> wrote:

> Michael,
> Michael Kifer wrote:
> > 
> > these things are called path expressions and they are not necessarily
> > single-valued. For instance, FLORA-2 uses them alongside the frames,
> > and they are simply shortcuts for some forms of conjunctions of frames.
> I have taken the action to rework my proposal to separate the issues of single-valued attributes, and path location.
> But that supposes that I understand how path locations can be multi-valued: as much as I understand that, as atomic assertions, frames that associate different values to the same object-attribute pair can be true at the same time; as much I cannot understand how a path expression, as a basic term, can represent more than one value. Actually, dealing with single-valued attributes in a way that seemed intrinsically appropriate for them - which frames are not - and that is quite usual in object-oriented languages was the main reason for my proposal.
> I mean, other basic terms, such as a constant symbol, a variable, or a ground function call, represent, cannot represent but a single value: how can a path expression, as a basic term, represent more than one? Of course, it can be set-valued, but it still has a single value, which is the set.
> Can you please clarify? An example would, also, certainly help me understand better what you mean.
> Cheers,
> Christian
Received on Monday, 9 March 2009 23:22:33 UTC

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