Changes for page Technical details

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

From version 8.1
edited by lzehl
on 2021/03/03 17:51
Change comment: There is no comment for this version
To version 16.1
edited by lzehl
on 2021/03/08 20:14
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -12,12 +12,63 @@
12 12  
13 13  === Overview of the openMINDS layout ===
14 14  
15 +(% style="text-align: justify;" %)
15 15  In summary, openMINDS is the overall umbrella for a set of distributed GitHub repositories, each defining a particular metadata model for neuroscience research products.
16 16  
17 17  === The openMINDS schema template syntax ===
18 18  
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;" %)
19 19  (//**coming soon**//)
20 20  
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 +
21 21  === The openMINDS integration pipeline ===
22 22  
23 23  (//**coming soon**//)
Public

openMINDS