[ISSUE-94] Object representation

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