Changes for page Application details
Last modified by lzehl on 2021/10/13 13:11
Summary
-
Page properties (1 modified, 0 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -13,7 +13,7 @@ 13 13 === JSON-LD - the openMINDS serialization format === 14 14 15 15 (% style="text-align: justify;" %) 16 -As stated above, openMINDS supports JSON-LD as serialization format for the metadata representations (instances) of its schemas. In the following we will briefly explain the JSON-LD syntaxnecessary forwritinga correct openMINDS instance.16 +As stated above, openMINDS supports JSON-LD as serialization format for the metadata representations (instances) of its schemas. For JSON-LD newbies: please do not be scared! Although you can, you do not have to write the JSON-LDs manually, but can use different tools that take care of essential technical aspects. Nonetheless, in the following we will briefly explain the correct JSON-LD syntax of an openMINDS instance. 17 17 18 18 (% style="text-align: justify;" %) 19 19 Let us start with the most simple example: the openMINDS core schema ContactInformation. According to its schema template (cf. [[ContactInformation HTML>>https://humanbrainproject.github.io/openMINDS/core/schemas/v3/actors/contactInformation.html||rel="noopener noreferrer" target="_blank"]]), the only required property for a contact information instance is **##"email"##**. However, every valid JSON-LD needs a couple more technical properties. Here, as example, a valid JSON-LD for a contact information instance: ... ... @@ -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]]). 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]]). Let us explain why these technical JSON-LD properties are needed. 34 34 35 35 (% style="text-align: justify;" %) 36 36 The JSON-LD property **##"@type"##** expects an entry (value) of type string that defines which schema is used to validate the particular JSON-LD. Within openMINDS each schema can be identified through its namespace (type) with the following naming convention: ... ... @@ -62,7 +62,7 @@ 62 62 Note that we do not use all properties defined for the schema (cf. the [[Person HTML>>https://humanbrainproject.github.io/openMINDS/core/schemas/v3/actors/person.html||rel="noopener noreferrer" target="_blank"]]), but that we only used the required property **##"givenName"##** and two optional properties **##"familyName"##** and **##"ContactInformation"##**. Please also note, that a person is allowed to link to multiple contact information instances, hence it expects a list of dictionaries, instead of a single dictionary (which would be valid if only a single link is expected). 63 63 64 64 (% style="text-align: justify;" %) 65 -You learned now how to write a valid JSON-LD for an openMINDS metadata instance and how you can link different openMINDS metadata instances. In the following sections you will learn that youdo nothaveto manually write suchJSON-LDs, but that therearedifferent tools that support you to create your own openMINDS metadata collection.65 +You learned now how to write a valid JSON-LD for an openMINDS metadata instance and how you can link different openMINDS metadata instances. In the following sections you will learn about the different tools that support you to create your own openMINDS JSON-LD metadata collection. 66 66 67 67 === The openMINDS Python API === 68 68