JSON structure for/of metadata import/export

file version: 19 Oct 2022

current software versions: slk version 3.3.67; slk_helpers version 1.5.7

Introduction

A few commands of `slk` and of the slk_helpers use JSON files to represent metadata. These commands are:

  • slk tag -display

  • slk_helpers hsm2json

  • slk_helpers json2hsm

The first two commands extract metadata of one or more files from StrongLink and print it out as JSON. The latter command takes a JSON file and writes the contained metadata into the metadata schemata of selected files.

On this help page, the JSON structure is described. Please see other doc pages in order to get help using slk tag -display, slk_helpers hsm2json and slk_helpers json2hsm.

The JSON structure might change over time. Therefore, we version it. The current version is 2.0.0.

Format version 2.0.0

[
  {
    "location": "hsm",
    "path": "/arch/ab1234/c567890/test.txt",
    "id": 0,
    "tags": {
      "document.Characters": 42,
      "netcdf_header.Sdate": "2000-01-03"
    },
    "provenance": {
      "format_version": "2.0.0",
      "software": "slk_helpers",
      "softwareVersion": "1.3.0",
      "fingerPrint": 2871504,
      "programCall": ""
    }
  },
  { ... NEXT RECORD ... },
  { ... NEXT RECORD ... }
]

Details:

  • All fields in provenance are optional. However, we strongly recommend to set at least format_version,

  • location is optional and is meant for a workflow, which is not implemented yet

  • id is the resource id of a file in StrongLink. Either id and path have to be set for the metadata import via slk_helpers json2hsm

  • tags contains a list of metadata fields to be set.