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
-
... ... @@ -4,7 +4,7 @@ 4 4 The metadata representation (instance) of each openMINDS metadata schema has to be provided as JSON-LD. For a graph database and correspondingly designed metadata models, a full metadata description of a research product includes multiple, interlinked metadata instances representing various schemas. 5 5 6 6 (% style="text-align: justify;" %) 7 -[[JSON-LD>>https://json-ld.org/||rel=" 7 +[[JSON-LD>>https://json-ld.org/||rel="noopener noreferrer" target="_blank"]] is a powerful, lightweight Linked Data format, ideal for storing such collections of interlinked metadata instances of a graph database (e.g., the EBRAINS Knowledge Graph). 8 8 9 9 (% style="text-align: justify;" %) 10 10 Please find below, a general description of a typical JSON-LD as used in the EBRAINS Knowledge Graph and the different approaches in place for writing a metadata description for your research product in form of an openMINDS conform JSON-LD metadata collection. ... ... @@ -33,14 +33,24 @@ 33 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. 34 34 35 35 (% style="text-align: justify;" %) 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: 37 -**##"@type": "https:~/~/openminds.ebrains.eu/XXX/YYY"##**, where **##XXX##** and **##YYY##** should be replaced with the openMINDS sub-module (e.g., **##core##**) and corresponding schema (e.g., **##ContactInformation##**), respectively. 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: 38 38 38 +(% style="text-align: center;" %) 39 +**##"@type": "https:~/~/openminds.ebrains.eu/XXX/YYY"##** 40 + 39 39 (% style="text-align: justify;" %) 40 -The JSON-LD property **##"@id"##** expects an entry (value) of type string that provides a unique identifier for the created metadata instance. On your local machine, you should use the following naming convention for this identifier: 41 -**##"@id": "http:~/~/localhost/YYY/ZZZ"##**, where **##YYY##** and **##ZZZ##** should be replaced with the openMINDS schema (e.g., **##ContactInformation##**) and your own collection-unique identifier (e.g. **##email_openMINDS##**), respectively. Within the EBRAINS Knowledge Graph (KG) this identifier has to be a universally unique identifier (UUID). Assuming you locally generated a openMINDS metadata collection, your user-defined **##"@id"##** will be automatically replaced with a UUID in all your JSON-LDs if they are uploaded to the KG. 42 +where **##XXX##** and **##YYY##** should be replaced with the openMINDS sub-module (e.g., **##core##**) and corresponding schema (e.g., **##ContactInformation##**), respectively. 42 42 43 43 (% style="text-align: justify;" %) 45 +The JSON-LD property **##"@id"##** expects an entry (value) of type string that provides a unique identifier for the created metadata instance. On your local machine, you should use the following naming convention for this identifier: 46 + 47 +(% style="text-align: center;" %) 48 +**##"@id": "http:~/~/localhost/YYY/ZZZ"##** 49 + 50 +(% style="text-align: justify;" %) 51 +where **##YYY##** and **##ZZZ##** should be replaced with the openMINDS schema (e.g., **##ContactInformation##**) and your own collection-unique identifier (e.g. **##email_openMINDS##**), respectively. Within the EBRAINS Knowledge Graph (KG) this identifier has to be a universally unique identifier (UUID). Assuming you locally generated a openMINDS metadata collection, your user-defined **##"@id"##** will be automatically replaced with a UUID in all your JSON-LDs if they are uploaded to the KG. 52 + 53 +(% style="text-align: justify;" %) 44 44 The JSON-LD property **##"@id"##** is also used to link two different metadata instances. Let us introduce a second openMINDS instance of the openMINDS core schema Person which can link to an openMINDS instance of the openMINDS core schema ContactInformation. Here a valid JSON-LD for a person with a link to the contact information we defined above: 45 45 46 46 {{code language="json"}}