Changes between Version 7 and Version 8 of CmdiClavasIntegration
- Timestamp:
- 05/22/13 15:38:58 (11 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
CmdiClavasIntegration
v7 v8 68 68 * !ValueScheme has to be string. For this we add a schematron rule to the general component schema. 69 69 * 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) 71 73 72 74 Example: … … 93 95 ValueScheme="string" 94 96 Vocabulary="http://openskos.org/institutions" 95 Vocab ularyLabel="name"97 VocabValueProperty="name" 96 98 /> 97 99 }}} … … 109 111 <ValueScheme> 110 112 <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> 113 115 </enumeration> 114 116 </ValueScheme> … … 116 118 }}} 117 119 120 Text 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 118 122 ==== Specifying vocabularies in CMDI profile XSD's ==== 119 123 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 124 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. 125 126 ===== Open vocabularies ===== 127 128 Example, 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 150 Example: 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 }}} 121 163 122 164 === CLAVAS vocabulary sources === 123 165 124 166 Vocabularies 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 2012138 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 vocabularies141 * 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 user143 * Extend reading of profile specification and reading/writing of CMDI instances to support vocabulary references144 145 === Phase 2 ===146 147 Target milestone: ?148 149 * Allow closed vocabularies150 * Vocabulary caching in Arbil151 * ...to be further specified...