1 / 8

ISSUE-94

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

gaston
Download Presentation

ISSUE-94

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. ISSUE-94 Objects

  2. Six options have been discussed • Annotate, in the RIF document, the attribute as single-valued, e.g. using RIF meta-data construct; • Modify the Frame construct, so that the multiplicity of an attribute is indicated explicitly, e.g. adding a "cardinality" attribute to the <slot> element; • 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; • 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 • 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; • Add syntax to declare the multiplicity (and type?) of frame slots in a RIF document

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

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

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

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

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

  8. 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) ]

More Related