Changes for page Application details

Last modified by lzehl on 2021/10/13 13:11

From version 33.1
edited by lzehl
on 2021/02/25 18:08
Change comment: There is no comment for this version
To version 38.1
edited by lzehl
on 2021/03/17 14:05
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -30,7 +30,7 @@
30 30  {{/code}}
31 31  
32 32  (% style="text-align: justify;" %)
33 -To simplify the human-readability for all openMINDS users, technical properties specifically required for the JSON-LD syntax are, on purpose, not defined in the openMINDS schema templates. Instead, these technical properties are first added to the required property list of all openMINDS schemas after their template is transformed into an established, full-blown metadata schema format, such as JSON-Schema (cf. [[Technical details>>Technical details||target="_blank"]]). Let us explain why these technical JSON-LD properties are needed and how they are correctly provided for an openMINDS instance.
33 +These additional technical properties specifically required for the JSON-LD syntax are, on purpose, not defined in the openMINDS schema templates in order to simplify the human-readability for all users. Instead, these technical properties are first added to the required property list of all openMINDS schemas after their template is transformed into an established, full-blown metadata schema format, such as JSON-Schema (cf. [[Technical details>>Technical details||target="_blank"]]). Let us explain in the following why these technical JSON-LD properties are needed and how they are correctly provided for an openMINDS instance.
34 34  
35 35  (% style="text-align: justify;" %)
36 36  The JSON-LD properties **##"@context"##** and **##"@vocab"##** define a common vocabulary mapping, by stating a prefix that extends all non-JSON-LD property names and **##"@type"##** values that do not correspond to an IRI or compact IRI. Within openMINDS, each metadata instance should map to the openMINDS vocabulary, meaning the **##"@context"##** and **##"@vocab"##** is the same across all metadata instances (cf. code above). If you want to learn more about the power of the openMINDS vocabulary please go to: [[Technical details>>doc:Collabs.openminds.openMINDS core.Implementation details.WebHome||target="_blank"]].
... ... @@ -80,22 +80,63 @@
80 80  
81 81  One possible way to write openMINDS conform JSON-LDs is to use the openMINDS Python API which will help you to interact with the EBRAINS openMINDS metadata models and schemas. It consists of two sub-modules: 
82 82  
83 -The ~*~*openMINDS.generator~*~* (coming soon) facilitates the translation of the openMINDS schema template syntax to other established formats, such as HTML and JSON-Schema (cf. [[Technical details>>doc:Collabs.openminds.openMINDS core.Implementation details.WebHome]]).
84 -\\The ~*~*openMINDS.compiler~*~* allows you the dynamic usage of openMINDS metadata models and schemas in your Python application for generating your own collection of openMINDS conform metadata representations (instances) as JSON-LDs (as described above).
83 +The **openMINDS.generator** (coming soon) facilitates the translation of the openMINDS schema template syntax to other established formats, such as HTML and JSON-Schema (cf. also [[Technical details>>doc:Collabs.openminds.openMINDS core.Implementation details.WebHome]]).
84 +\\The **openMINDS.compiler** allows you the dynamic usage of openMINDS metadata models and schemas in your Python application for generating your own collection of openMINDS conform metadata representations (instances) as JSON-LDs (as described above). Please note that the openMINDS.compiler only helps you to generate correctly formatted JSON-LD metadata instances. The preparation on how you want to describe your research product with openMINDS is still up to you, although we provide some hints on how to tackle your individual case in the [[Tutorials>>openminds@ebrains.eu||target="_blank"]] and can always be contacted for individual support via [[openminds@ebrains.eu>>mailto:openminds@ebrains.eu]].
85 85  
86 86  ===== Installation =====
87 87  
88 88  The official versions are available at the [[Python Package Index>>https://pypi.org/project/openMINDS/]] and can be installed using `pip install` in your console:
89 89  
90 -{{code}}
90 +{{code language="console"}}
91 91  pip install openminds
92 92  {{/code}}
93 93  
94 +The latest development version is available on the [[openMINDS generator GitHub>>https://github.com/HumanBrainProject/openMINDS_generator]].
94 94  
96 +===== openMINDS.compiler documentation =====
97 +
98 +As stated above, the openMINDS.compiler allows you the dynamic usage of openMINDS metadata models and schemas in your Python application for generating your own collection of openMINDS conform metadata representations (instances) as JSON-LDs. Here a small example:
99 +
100 +{{code language="python"}}
101 +import openMINDS.compiler
102 +
103 +# initiate the helper class for the dynamic usage of a specific openMINDS version
104 +helper = openMINDS.compiler.Helper(version="v1.0")
105 +
106 +# initiate the collection into which you will store all metadata instances
107 +mycollection = helper.get_collection()
108 +
109 +# create a metadata instance for (e.g.) the openMINDS Person schema
110 +lyuba = mycollection.add_core_person(givenName="Lyuba")
111 +
112 +# add more metadata to a created instance
113 +mycollection.get(lyuba).familyName = "Zehl"
114 +
115 +# add connections to other metadata instances
116 +email_lyuba = mycollection.add_core_contactInformation(email="openminds@ebrains.eu")
117 +mycollection.get(lyuba).contactInformation = email_lyuba
118 +
119 +# save your collection
120 +mycollection.save("./myFirstOpenMINDSMetadataCollection/")
121 +{{/code}}
122 +
123 +(% class="wikigeneratedid" %)
124 +To learn in general about the available openMINDS metadata models and schemas including their required or optional metadata properties, please check out the HTML representations of the schemas or the code on the corresponding GitHub (cf. [[Metadata models & schemas>>doc:Collabs.openminds.openMINDS core.Metadata models & schemas.WebHome]]).
125 +
126 +Interactively you can also get an overview of the requirement of a schema and all its properties by using the **##help_##** function of the openMINDS.compiler. Here an example:
127 +
128 +{{code language="python"}}
129 +mycollection.help_core_person()
130 +{{/code}}
131 +
132 +===== openMINDS.compiler documentation =====
133 +
134 +((% style="color:#7f8c8d" %)**//coming soon//**(%%))
135 +
95 95  === The openMINDS spreadsheet templates ===
96 96  
97 97  (% style="text-align: justify;" %)
98 -For users with no programming experience, it is possible to provide at least openMINDS conform metadata by using the openMINDS spreadsheet templates.
139 +((% style="color:#7f8c8d" %)**//coming soon//**(%%)) For users with no programming experience, it is possible to provide at least openMINDS conform metadata by using the openMINDS spreadsheet templates.
99 99  
100 100  === The Knowledge Graph Editor ===
101 101  
Public

openMINDS