Changes for page Technical details
Last modified by lzehl on 2021/07/05 18:57
Summary
-
Page properties (1 modified, 0 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -73,8 +73,8 @@ 73 73 74 74 {{code language="json"}} 75 75 { 76 - "_type": "https:~/~/openminds.ebrains.eu/core/Dataset", 77 - "_extends": "products/researchProduct.schema.tpl.json" 76 + "_type": "https:~/~/openminds.ebrains.eu/core/Dataset", 77 + "_extends": "products/researchProduct.schema.tpl.json" 78 78 } 79 79 {{/code}} 80 80 ... ... @@ -90,25 +90,65 @@ 90 90 How to define the expected value of a property will be explained for the different property types in the following sections. 91 91 92 92 (% style="text-align: justify;" %) 93 -===== String properties =====93 +===== Properties expecting a string value ===== 94 94 95 95 (% style="text-align: justify;" %) 96 - (//**coming soon**//)96 +Properties that expect values of type string can be defined in large parts in the same way as in JSON-Schema. Without any further formatting requirements the definition of such a property looks like this: 97 97 98 +{{code language="json"}} 99 +{ 100 + "properties": { 101 + "freeStringProperty": { 102 + "type": "string" 103 + } 104 + } 105 +} 106 +{{/code}} 107 + 98 98 (% style="text-align: justify;" %) 99 - =====Numerical properties=====109 +In accordance with JSON-Schema, it is possible, though, to further define a selected list of built-in formats that are accepted for the expected string. Supported are all [[built-in formats of JSON-Schema Draft 7.0>>https://json-schema.org/understanding-json-schema/reference/string.html#built-in-formats||rel="noopener noreferrer" target="_blank"]]. Assuming that my string property only accepts a value of format "email", the openMINDS syntax is the following: 100 100 111 +{{code language="json"}} 112 +{ 113 + "properties": { 114 + "emailProperty": { 115 + "type": "string", 116 + "_formats": [ 117 + "email" 118 + ] 119 + } 120 + } 121 +} 122 +{{/code}} 123 + 101 101 (% style="text-align: justify;" %) 125 +Also like JSON-Schema, it is possible to define a customized regular expression pattern for the expected string, supporting the [[ECMA-262 regex-dialect>>https://www.ecma-international.org/publications-and-standards/standards/ecma-262/]]. Assuming that my string property only accepts a Gregorian calendar year, the corresponding openMINDS syntax look like this: 126 + 127 +{{code language="json"}} 128 +{ 129 + "properties": { 130 + "yearProperty": { 131 + "type": "string", 132 + "pattern": "([0-9]{4})" 133 + } 134 + } 135 +} 136 +{{/code}} 137 + 138 +(% style="text-align: justify;" %) 139 +===== Properties expecting a numerical value ===== 140 + 141 +(% style="text-align: justify;" %) 102 102 (//**coming soon**//) 103 103 104 104 (% style="text-align: justify;" %) 105 -===== Object properties =====145 +===== Properties expecting another object ===== 106 106 107 107 (% style="text-align: justify;" %) 108 108 (//**coming soon**//) 109 109 110 110 (% style="text-align: justify;" %) 111 -===== Propert yarrays =====151 +===== Properties expecting an array of values ===== 112 112 113 113 (% style="text-align: justify;" %) 114 114 (//**coming soon**//)