Changes for page Technical details

Last modified by lzehl on 2021/07/05 18:57

From version 39.1
edited by lzehl
on 2021/03/08 22:37
Change comment: There is no comment for this version
To version 40.1
edited by lzehl
on 2021/03/09 16:52
Change comment: There is no comment for this version

Summary

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 -===== Property arrays =====
151 +===== Properties expecting an array of values =====
112 112  
113 113  (% style="text-align: justify;" %)
114 114  (//**coming soon**//)
Public

openMINDS