# [ISSUE-94] Object representation

From: Christian de Sainte Marie <csma@ilog.fr>
Date: Fri, 27 Mar 2009 18:08:00 +0100
Message-ID: <3E5E1A634BBD5C4A94C4D4A6DE0852E726F1D7@parmbx02.ilog.biz>
To: <public-rif-wg@w3.org>
```All,

In view of the coming F2F, let us restart this thread.

Here is a summary of the requirements, the problem and the proposed
solutions that have been discussed at one point or another.

1. Requirements

The PRD crowd requires a way to represent objects, that is, essentially to distingish single-valued attributes from multi-valued ones.

Using frames to represent object-attribute-value triples, that means that PRD wants a way
to distinguish an attribute "att_1" to which the following axiom applies:

(1) Forall ?o, ?x, ?y, If ?o[att_1 -> ?x] AND ?o(att_1 -> ?y] Then ?x = ?y

from an attribute "att_2" that does not satisfy it.

One consequence of attribute single-valuedness, apparently the only one, is that, in the
case of a single-valued attribute, the semantics of an action that asserts a new value of
the attribute, in PR languages, is the replacement of the attribute's value by the asserted
value (whereas it is addition of the newly asserted value, in the case of multi-valued
attributes).

2. Problem

One problem is that the axiom (1), above, cannot be expressed in PRD (nor in Core).

3. Proposed solutions

(a) Annotate, in the RIF document, the attribute as single-valued, e.g. using RIF meta-data
construct;

(b) Modify the Frame construct, so that the multiplicity of an attribute is indicated
explicitly, e.g. adding a "cardinality" attribute to the <slot> element;

(c) Specify a new construct, specific to the case of single valued attributes (that is,
with multiplicity = 1), keeping the Frame construct unchanged (that is the multiplicity of
attributes is 0..*). E.g. csma's proposal to introduce a new basic term to represent the
value of a single valued attribute (in [1]; but [1] contains other proposals as well, which
has muddled the discussion);

(d) Leave attribute multiplicity implicit in condition formulas and rely on RIF document
analysis to determine attributes multiplicity: the only attributes that need be modelled as
single valued are those of Frames that appear in assertions with replacement semantics, in
the conclusion of at least one rule;

(e) Rely on out-of-band information (e.g. interchange of the intended data model, in
parallel to the RIF document) to determine the multiplicity of Frames' attributes;

[1] http://lists.w3.org/Archives/Public/public-rif-wg/2009Mar/0009.html

</chair>
My preference goes to (c) (whether my proposed implementation of it or an alternative is a
different question), for the following reasons:

- (a) uses metadata for something that impacts the semantics of the rules;

- although the data model, that is assumed in the representation of the rules for the data
to which the rules apply, is something that is completely orthogonal to the rules, (a) and
(b) rely on RIF to interchange explicitely a part of that data model (i.e. the multiplicity
of attributes);

- (a), (b), (d) and (e) all use the Frame construct to represent single-valued
attributes as well as multi-valued ones, although the object-attribute-value triple is
redundant in the single-valued case (indeed, for single-valued attributes, the object-
attribute pair determines the value unequivocally), and requires, in many cases, the
introduction of dummy variables in the RIF representation of the rules.

- (d) works only for PRD;

- (e) works only if the required out-of-band information is available, and if a way to
relate it to the RIF representation of the rules has been specified, which is a lots of
ifs...
<chair>

Cheers,

Christian
```
Received on Friday, 27 March 2009 17:08:46 UTC

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