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