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
-
... ... @@ -12,63 +12,12 @@ 12 12 13 13 === Overview of the openMINDS layout === 14 14 15 -(% style="text-align: justify;" %) 16 16 In summary, openMINDS is the overall umbrella for a set of distributed GitHub repositories, each defining a particular metadata model for neuroscience research products. 17 17 18 18 === The openMINDS schema template syntax === 19 19 20 -(% style="text-align: justify;" %) 21 -All openMINDS metadata models use a light-weighted schema template syntax for defining the metadata. The correspondingly formatted schema files use the extension: **##.schema.tpl.json##**. 22 - 23 -(% style="text-align: justify;" %) 24 -Although, as the file extension suggests, this openMINDS schema template syntax is inspired by JSON-Schema, it facilitates or even excludes technical aspects that are generally expected for the openMINDS schemas making it more human-readable, especially for untrained eyes. 25 - 26 -(% style="text-align: justify;" %) 27 -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). Please find in the following a full documentation of the openMINDS schema template syntax and how it needs to be interpreted. 28 - 29 -(% style="text-align: justify;" %) 30 -===== Target & context templates ===== 31 - 32 -(% style="text-align: justify;" %) 33 -All openMINDS schemas have to have a **##"_type"##** to be recognized as target templates. In other words, the **##"_type"##** is used to define the openMINDS namespace of a corresponding schema using the following naming convention: 34 - 35 -(% style="text-align: center;" %) 36 -**##"_type": "https:~/~/openminds.ebrains.eu/<<schema-model>>/<<schema-name>>"##**, 37 - 38 -(% style="text-align: justify;" %) 39 -where **##<<schema-model>>##** has to be replaced with the label of the openMINDS metadata model the corresponding schema belongs to and **##<<schema-name>>##** exchanged with the label of that schema. 40 - 41 -(% style="text-align: justify;" %) 42 -If an openMINDS schema template file //DOES NOT// define a **##"_type"##**, it is interpreted as a context template which requires an extension to become a target template. 43 - 44 -(% style="text-align: justify;" %) 45 -Context templates are and should be used when multiple openMINDS schemas (target templates) have the same subset of properties. This common subset of properties can then be defined within a single context schema instead of each target template which facilitates the long-term maintenance of these properties. 46 - 47 -(% style="text-align: justify;" %) 48 -===== String properties ===== 49 - 50 -(% style="text-align: justify;" %) 51 51 (//**coming soon**//) 52 52 53 -(% style="text-align: justify;" %) 54 -===== Numerical properties ===== 55 - 56 -(% style="text-align: justify;" %) 57 -(//**coming soon**//) 58 - 59 -(% style="text-align: justify;" %) 60 -===== Object properties ===== 61 - 62 -(% style="text-align: justify;" %) 63 -(//**coming soon**//) 64 - 65 -(% style="text-align: justify;" %) 66 -===== Property arrays ===== 67 - 68 -(% style="text-align: justify;" %) 69 -(//**coming soon**//) 70 - 71 - 72 72 === The openMINDS integration pipeline === 73 73 74 74 (//**coming soon**//)