A minimal openMINDS instance

openMINDS metadata instances are represented as JSON-LD documents (file extension: *.jsonld) and must comply with the openMINDS schema type they reference.

This page shows how a minimal openMINDS instance is constructed from a schema specification. The JSON-LD elements used here are introduced in the previous chapter.

Creating a minimal instance

Let us start with a simple Person instance, designed according to the Person schema.

If you inspect the schema, you will see that only the property preferredName is required. The property accepts a single value of type "string". All other properties are optional.

A minimal Person instance can therefore look like this:

  • compact-1
  • compact-2
  • expanded
{
  "@context": {
    "@vocab": "https://openminds.om-i.org/props/"
  },
  "@id": "_:pv-jeltz",
  "@type": "https://openminds.om-i.org/types/Person",
  "preferredName": "Prostetnic Vogon Jeltz"
}
{
  "@context": {
    "om": "https://openminds.om-i.org/props/"
  },
  "@id": "_:pv-jeltz",
  "@type": "https://openminds.om-i.org/types/Person",
  "om:preferredName": "Prostetnic Vogon Jeltz"
}
{
  "@id": "_:pv-jeltz",
  "@type": "https://openminds.om-i.org/types/Person",
  "https://openminds.om-i.org/props/preferredName": "Prostetnic Vogon Jeltz"
}

As explained in the previous page, the instance representations compact-1, compact-2, and expanded are equivalent and differ only in how property names are written.

In openMINDS, the compact-1 syntax using "@vocab" is typically preferred, as it provides a concise and consistent representation without requiring prefixed property names.

openMINDS namespaces

The IRIs used in "@type" and in the property namespace depend on the openMINDS version.

  • v4.0+
  • ≤ v3.0
{
  "@context": {
    "@vocab": "https://openminds.om-i.org/props/"
  },
  "@id": "INSTANCE-IDENTIFIER",
  "@type": "https://openminds.om-i.org/types/SCHEMA-NAME",
  "PROPERTY-NAME": "PROPERTY-VALUE"
}
{
  "@context": {
    "@vocab": "https://openminds.ebrains.eu/vocab/"
  },
  "@id": "INSTANCE-IDENTIFIER",
  "@type": "https://openminds.ebrains.eu/MODULE-NAME/SCHEMA-NAME",
  "PROPERTY-NAME": "PROPERTY-VALUE"
}

The applicable namespace pattern can be found in the corresponding schema specification for the openMINDS version you are using.

Note

In openMINDS v3.0 and earlier, schema type IRIs include MODULE-NAME as an additional path component. While modularization continues to be used for maintenance and schema dependency logic, it is no longer reflected in the namespace to simplify IRIs.


The following chapter shows how individual openMINDS instances are connected and structured into a graph.