ISSUE-94 Objects. Six options have been discussed 1.Annotate, in the RIF document, the attribute as...

8
ISSUE-94 Objects

Transcript of ISSUE-94 Objects. Six options have been discussed 1.Annotate, in the RIF document, the attribute as...

Page 1: ISSUE-94 Objects. Six options have been discussed 1.Annotate, in the RIF document, the attribute as single-valued, e.g. using RIF meta-data construct;

ISSUE-94

Objects

Page 2: ISSUE-94 Objects. Six options have been discussed 1.Annotate, in the RIF document, the attribute as single-valued, e.g. using RIF meta-data construct;

Six options have been discussed

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

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

3. 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;

4. 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

5. 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;

6. Add syntax to declare the multiplicity (and type?) of frame slots in a RIF document

Page 3: ISSUE-94 Objects. Six options have been discussed 1.Annotate, in the RIF document, the attribute as single-valued, e.g. using RIF meta-data construct;

1. Annotate, in the RIF document, the attribute as single-valued, e.g. using RIF

meta-data construct;<Frame>

<object>…</object><slot rif:ordered=‘yes’>

<Const type=‘rif:iri’><id><Const type=‘rif:local’>example1</Const></id><meta><Frame>

<object><Const type=‘rif:local’>example1</Const>

</object> <slot rif:ordered=‘yes>

<Const type=‘rif:iri’>rif:multiplicity</Const><Const type=‘rif:multiplicity’>one</Const>

</slot> </Frame>

</meta>my:slot

</Const>slot value

</slot></Frame>

Page 4: ISSUE-94 Objects. Six options have been discussed 1.Annotate, in the RIF document, the attribute as single-valued, e.g. using RIF meta-data construct;

2. Modify the Frame construct, so that the multiplicity of an attribute is indicated explicitly, e.g. adding a "cardinality"

attribute to the <slot> element

<Frame><object>…</object><slot rif:ordered=‘yes’ rif:multiplicity=‘one’>

<Const type=‘rif:iri’>my:slot

</Const>slot value

</slot></Frame>

Page 5: ISSUE-94 Objects. Six options have been discussed 1.Annotate, in the RIF document, the attribute as single-valued, e.g. using RIF meta-data construct;

3. Specify a new construct, specific to the case of single valued attributes

TERM           ::= IRIMETA? (Const | Var | 'External' '(' Expr ')' | Getter) Getter         ::= TERM '.' (Const | Expr)

<Getter><object> … </object> <member>

<Const type=‘rif:iri’>my:slot</Const></member>

</Getter>

Page 6: ISSUE-94 Objects. Six options have been discussed 1.Annotate, in the RIF document, the attribute as single-valued, e.g. using RIF meta-data construct;

4. Leave attribute multiplicity implicit in condition formulas and rely on RIF document analysis to

determine attributes multiplicity<Implies>

<if><Frame>

<object><Var>?x</Var></object><slot rif:ordered=‘yes’>

<Const type=‘rif:iri’>my:slot</Const>slot value

</slot></Frame>

</if><then>

<Do><Modify> <target>

<Frame> <object><Var>?x</Var></object> <slot rif:ordered=‘yes’>

<Const type=‘rif:iri’>my:slot</Const>new slot value

</slot></Frame>

</target></Modify>

</Do></then>

</Implies>

Page 7: ISSUE-94 Objects. Six options have been discussed 1.Annotate, in the RIF document, the attribute as single-valued, e.g. using RIF meta-data construct;

5. Rely on out-of-band information

<Import><schema-location rif:prefix=‘exsd’>…</schema-location>

</Import>…<Forall>

<declare><Var>?x</Var></declare><pattern>

<And><Member><object><Var>?x</Var></object><class><Const type=‘rif:iri’>exsd:foo</Const></class>

</Member> <Frame>

<object><Var>?x</Var></object><slot rif:ordered=‘yes’>

<Const type=‘rif:iri’>exsd:bar</Const>slot value

</slot> </Frame></And>

</pattern>…

</Forall>

Page 8: ISSUE-94 Objects. Six options have been discussed 1.Annotate, in the RIF document, the attribute as single-valued, e.g. using RIF meta-data construct;

6. Add syntax to declare the multiplicity (and type?) of frame slots in a RIF document

Class

eg:MyClass [ eg:att_1->singleton (xs:string),

eg:att_2->set (xs:date) ]