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
-
... ... @@ -111,16 +111,30 @@ 111 111 === The openMINDS schema template syntax === 112 112 113 113 (% style="text-align: justify;" %) 114 -All openMINDS metadata models use a light-weighted schema template syntax for defining the expected metadata. Although this schematemplate syntax is inspired by JSON-Schema, itoutsourcesmost schema technicalities to be handledinthe openMINDS integration pipeline,makingtheopenMINDSschemasmore human-readable, especiallyforuntrainedeyes. Within theopenMINDS integrationpipeline (cf.below), theschemaemplatesyntax is interpreted, extended and flexibly translated tovarious formal metadata formats (e.g., JSON-Schema).114 +All openMINDS metadata models use a light-weighted schema template syntax for defining the expected metadata. The correspondingly formatted schema files use the extension: **##.schema.tpl.json##**. 115 115 116 116 (% style="text-align: justify;" %) 117 - Please findin the following afulldocumentationofthe openMINDS schema template syntax specifications.117 +Although, as the file extension suggests, this openMINDS schema template syntax is inspired by JSON-Schema, it facilitates or even excludes technical aspects making the openMINDS schemas more human-readable, especially for untrained eyes. Behind the scenes, within the openMINDS integration pipeline (cf. below), this schema template syntax is then interpreted and flexibly translated to various formal metadata formats (e.g., JSON-Schema). 118 118 119 -==== Specifications ==== 119 +(% style="text-align: justify;" %) 120 +Despite the simplification in comparison to JSON-Schema, the openMINDS schema templates are also, at the core, specially formatted JSON files using a particular syntax, meaning special key-value pairs that define the validation rules of a schema. Please find in the following a full documentation of the openMINDS schema template syntax and how it's key-value pairs need to be defined and interpreted. 120 120 121 -All openMINDS schemas are human and machine-readable text files with the extension **##.schema.tpl.json##** which define the structure and content of correctly instantiated openMINDS metadata instances. Many features are adopted from JSON-Schema. According to the schema template syntax each schema is defined as a nested associative array (dictionary). 122 +(% style="text-align: justify;" %) 123 +For the more inexperienced programmers, let's start by explaining first some general terms that will be later used in the openMINDS schema template syntax specification. More experienced programmers can of course skip these explanations and jump directly further down. 122 122 125 +**What is a string, an integer, a float or a boolean?** 123 123 127 +**What is a key-value pair?** 128 + 129 +**What is a list?** 130 + 131 +**What is a dictionary?** 132 + 133 +**What is a JSON?** 134 + 135 + 136 + 137 + 124 124 === The openMINDS integration pipeline === 125 125 126 126 (//**coming soon**//) If you'd like to learn more about the openMINDS integration pipeline, especially if you'd like to contribute to it, please get in touch with us (the openMINDS development team) via the issues on the openMINDS or openMINDS_generator GitHub or the support email: openminds@ebrains.eu