Changes between Version 7 and Version 8 of CmdiClavasIntegration


Ignore:
Timestamp:
05/22/13 15:38:58 (11 years ago)
Author:
twagoo
Comment:

schema examples + updated other examples

Legend:

Unmodified
Added
Removed
Modified
  • CmdiClavasIntegration

    v7 v8  
    6868* !ValueScheme has to be string. For this we add a schematron rule to the general component schema.
    6969* Vocabulary URI (can be URL or URN) gets specified in Vocabulary attribute
    70 * Value field optionally specified, either as a parameter on the URI or as a separate attribute (TODO: DECIDE). It would be nice if we could pass the 'label' selection on to the API so that a pre-selection can happen server side (making the processing of the response more uniform)
     70* Value property field optionally specified (default=prefLabel), either as a parameter on the URI or as a separate attribute VocabValueProperty (second example). TODO: DECIDE
     71 * Use case is language vocabulary that provides versions of ISO-639 per item
     72 *  It would be nice if we could pass the 'label' selection on to the API so that a pre-selection can happen server side, returning it in a specially marked element or attribute (making the processing of the response more uniform)
    7173
    7274Example:
     
    9395    ValueScheme="string"
    9496    Vocabulary="http://openskos.org/institutions"
    95     VocabularyLabel="name"
     97    VocabValueProperty="name"
    9698/>
    9799}}}
     
    109111    <ValueScheme>
    110112      <enumeration>
    111          <item AppInfo="Dutch" VocabItem="http://cdb.iso.org/lg/CDB-00138580-001">dut</item>
    112          <item AppInfo="French" VocabItem="http://cdb.iso.org/lg/CDB-00138512-001">fra</item>
     113         <item VocabItem="http://cdb.iso.org/lg/CDB-00138580-001">Dutch</item>
     114         <item VocabItem="http://cdb.iso.org/lg/CDB-00138512-001">French</item>
    113115      </enumeration>
    114116    </ValueScheme>
     
    116118}}}
    117119
     120Text content comes from the selected label. VocabItem has the URI for each item in the vocabulary. There probably is no need for AppInfo (separate display label). Notice that there currently is no way to represent multilingual vocabularies, so the language will have to be specified in the vocabulary URI with a fallback to the default language of the vocabulary.
     121
    118122==== Specifying vocabularies in CMDI profile XSD's ====
    119123
    120 The values of the vocabulary related attributes could go straight into the generated profile XSD, pretty much like the "datcat"-attributes and read like that from the schema by client applications. We can put them
     124The values of the vocabulary related attributes could go straight into the generated profile XSD, pretty much like the "datcat"-attributes and read like that from the schema by client applications.
     125
     126===== Open vocabularies =====
     127
     128Example, assuming the solution with separate attributes for vocabulary id and label specifiers:
     129
     130{{{
     131#!xml
     132<xs:element
     133  name="Institute" 
     134  ann:displaypriority="1"
     135  dcr:datcat="http://www.isocat.org/datcat/DC-3785"
     136  cmd:Vocabulary="http://openskos.org/institutions"
     137  cmd:VocabValueProperty="name">
     138  <xs:complexType>
     139    <xs:simpleContent>
     140      <xs:extension base="xs:string">
     141        <xs:attribute ref="xml:lang"/>
     142      </xs:extension>
     143    </xs:simpleContent>
     144  </xs:complexType>
     145</xs:element>
     146}}}
     147
     148===== Closed vocabularies =====
     149
     150Example:
     151
     152{{{
     153#!xml
     154<xs:simpleType
     155  name="simpletype-iso-639-3-code-clarin.eu.cr1.c_123456789"
     156  cmd:Vocabulary="http://openskos.org/api/languages?label=iso-639-3">
     157  <xs:restriction base="xs:string">
     158    <xs:enumeration value="Dutch" cmd:VocabItem="http://cdb.iso.org/lg/CDB-00138512-001" />
     159    <xs:enumeration value="French" cmd:VocabItem="http://cdb.iso.org/lg/CDB-00138512-001" />
     160  </xs:restriction>
     161</xs:simpleType>
     162}}}
    121163
    122164=== CLAVAS vocabulary sources ===
    123165
    124166Vocabularies from ISOCat will be provided to OpenSKOS (the exact details as to how this is going to be done still have to be worked out), Arbil and ComponentRegistry will query these vocabularies through OpenSKOS.
    125 
    126 == Open issues ==
    127 
    128 * PID's for vocabularies (yes please) and vocabulary items (maybe... possibly use part identifiers)
    129 * ...
    130 
    131 == Roadmap ==
    132 
    133 Implementation can be divided into at least two phases:
    134 
    135 === Phase 1 ===
    136 
    137 Target milestone: late december 2012
    138 
    139 * Adapt the CMDI schema to allow vocabularies to be referenced from elements. In this phase only support ''open vocabularies'' and values coming from ''prefLabel''
    140 * Create a CMDI profile that references vocabularies
    141 * Implement a client in Arbil that consumes the OpenSKOS API for specific vocabularies (initially we skip caching, e.g. online availability only)
    142 * Create UI component(s) in Arbil that make use of these calls to present the vocabulary items to the user
    143 * Extend reading of profile specification and reading/writing of CMDI instances to support vocabulary references
    144 
    145 === Phase 2  ===
    146 
    147 Target milestone: ?
    148 
    149 * Allow closed vocabularies
    150 * Vocabulary caching in Arbil
    151 * ...to be further specified...