Skip to content

Implementation

Lyuba Zehl edited this page Mar 10, 2020 · 6 revisions

We used JSON-Schema version 3.0.2 and draft-07 for implementing all versions of the openMINDS metadata schemas (v1: MINDS, v2: uniMINDS, v3: openMINDS). If you need more information on the used JSON-Schema syntax than what is stated below, please go to the official JSON-Schema (draft-01) documentation.

Each openMINDS JSON-Schema is generally structured in the following way:

{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "$id": "https://schema.hbp.eu/<<schema-version>>/<<schema-category>>/<<schema-label>>.schema.json",
  "title": "<<schema-label>>",
  "description": "<<schema-description>>",
  "type": "object",
  "additionalProperties": false,
  "required": [
    "@type",
    "@id",
    "<<property-label>>"
  ],
  "properties": {
    "@type": {
      "const": "https://schema.hbp.eu/<<schema-version>>/<<node-type>>",
      "description": "Metadata node type (schema)."
    },
    "@id": {
      "type": "string",
      "pattern": "<<schema-version>>/<<schema-category>>/<<schema-label>>/v1.0.0/([A-Za-z0-9_-]+).json",
      "description": "Metadata node identifier."
    },
    "<<property-label>>": {
      "type": "<<expected-entry-type>>",
      "description": "<<property-description>>"
    }
  }
}

The openMINDS JSON-Schemas can be used to generate and validate corresponding JSON-LD metadata files which, if correctly organized in a hierarchical collection, can be automatically digested into the Knowledge Graph (KG) database by the HBP/EBRAINS curation team (curation-support@ebrain.eu). How the structure of each JSON-LD openMINDS metadata file and a valid openMINDS metadata collection of such files look like is described under Usage.

Clone this wiki locally