[
  {
    "op": "core/column-rename",
    "description": "Rename column Record ID to id",
    "oldColumnName": "Record ID",
    "newColumnName": "id"
  },
  {
    "op": "core/text-transform",
    "description": "Text transform on cells in column id using expression grel:\"powerhouse\" + value",
    "engineConfig": {
      "mode": "row-based",
      "facets": []
    },
    "columnName": "id",
    "expression": "grel:\"powerhouse\" + value",
    "onError": "keep-original",
    "repeat": false,
    "repeatCount": 10
  },
  {
    "op": "core/column-rename",
    "description": "Rename column Object Title to title",
    "oldColumnName": "Object Title",
    "newColumnName": "title"
  },
  {
    "op": "core/column-rename",
    "description": "Rename column Description. to description",
    "oldColumnName": "Description.",
    "newColumnName": "description"
  },
  {
    "op": "core/column-rename",
    "description": "Rename column Production Date to date",
    "oldColumnName": "Production Date",
    "newColumnName": "date"
  },
  {
    "op": "core/column-rename",
    "description": "Rename column License info to rights",
    "oldColumnName": "License info",
    "newColumnName": "rights"
  },
  {
    "op": "core/column-rename",
    "description": "Rename column Categories to type",
    "oldColumnName": "Categories",
    "newColumnName": "type"
  },
  {
    "op": "core/text-transform",
    "description": "Text transform on cells in column type using expression grel:value.replace('|','␟')",
    "engineConfig": {
      "mode": "row-based",
      "facets": []
    },
    "columnName": "type",
    "expression": "grel:value.replace('|','␟')",
    "onError": "keep-original",
    "repeat": false,
    "repeatCount": 10
  },
  {
    "op": "core/multivalued-cell-split",
    "description": "Split multi-valued cells in column Provenance (Production)",
    "columnName": "Provenance (Production)",
    "keyColumnName": "id",
    "separator": "|",
    "mode": "plain"
  },
  {
    "op": "core/column-addition",
    "description": "Create column tmp_creator at index 7 based on column Provenance (Production) using expression grel:value.match(/([A-Z]\\w+): (.*)/)[1]",
    "engineConfig": {
      "mode": "row-based",
      "facets": []
    },
    "newColumnName": "tmp_creator",
    "columnInsertIndex": 7,
    "baseColumnName": "Provenance (Production)",
    "expression": "grel:value.match(/([A-Z]\\w+): (.*)/)[1]",
    "onError": "set-to-blank"
  },
  {
    "op": "core/column-addition",
    "description": "Create column tmp_creator_role at index 7 based on column Provenance (Production) using expression grel:value.match(/([A-Z]\\w+): (.*)/)[0]",
    "engineConfig": {
      "mode": "row-based",
      "facets": []
    },
    "newColumnName": "tmp_creator_role",
    "columnInsertIndex": 7,
    "baseColumnName": "Provenance (Production)",
    "expression": "grel:value.match(/([A-Z]\\w+): (.*)/)[0]",
    "onError": "set-to-blank"
  },
  {
    "op": "core/column-addition",
    "description": "Create column creator at index 9 based on column tmp_creator using expression grel:value",
    "engineConfig": {
      "mode": "record-based",
      "facets": [
        {
          "omitError": false,
          "expression": "value",
          "selectBlank": false,
          "selection": [
            {
              "v": {
                "v": "Artist",
                "l": "Artist"
              }
            },
            {
              "v": {
                "v": "Designer",
                "l": "Designer"
              }
            },
            {
              "v": {
                "v": "Author",
                "l": "Author"
              }
            },
            {
              "v": {
                "v": "Maker",
                "l": "Maker"
              }
            }
          ],
          "selectError": false,
          "invert": false,
          "name": "tmp_creator_role",
          "omitBlank": false,
          "type": "list",
          "columnName": "tmp_creator_role"
        }
      ]
    },
    "newColumnName": "creator",
    "columnInsertIndex": 9,
    "baseColumnName": "tmp_creator",
    "expression": "grel:value",
    "onError": "set-to-blank"
  },
  {
    "op": "core/column-addition",
    "description": "Create column contributor at index 9 based on column tmp_creator using expression grel:value",
    "engineConfig": {
      "mode": "record-based",
      "facets": [
        {
          "omitError": false,
          "expression": "value",
          "selectBlank": true,
          "selection": [
            {
              "v": {
                "v": "Artist",
                "l": "Artist"
              }
            },
            {
              "v": {
                "v": "Designer",
                "l": "Designer"
              }
            },
            {
              "v": {
                "v": "Author",
                "l": "Author"
              }
            },
            {
              "v": {
                "v": "Maker",
                "l": "Maker"
              }
            }
          ],
          "selectError": false,
          "invert": true,
          "name": "tmp_creator_role",
          "omitBlank": false,
          "type": "list",
          "columnName": "tmp_creator_role"
        }
      ]
    },
    "newColumnName": "contributor",
    "columnInsertIndex": 9,
    "baseColumnName": "tmp_creator",
    "expression": "grel:value",
    "onError": "set-to-blank"
  },
  {
    "op": "core/text-transform",
    "description": "Text transform on cells in column creator using expression grel:value + \" (\" + cells[\"tmp_creator_role\"].value + \")\"",
    "engineConfig": {
      "mode": "record-based",
      "facets": [
        {
          "omitError": false,
          "expression": "isBlank(value)",
          "selectBlank": false,
          "selection": [
            {
              "v": {
                "v": false,
                "l": "false"
              }
            }
          ],
          "selectError": false,
          "invert": false,
          "name": "creator",
          "omitBlank": false,
          "type": "list",
          "columnName": "creator"
        }
      ]
    },
    "columnName": "creator",
    "expression": "grel:value + \" (\" + cells[\"tmp_creator_role\"].value + \")\"",
    "onError": "keep-original",
    "repeat": false,
    "repeatCount": 10
  },
  {
    "op": "core/text-transform",
    "description": "Text transform on cells in column contributor using expression grel:value + \" (\" + cells[\"tmp_creator_role\"].value + \")\"",
    "engineConfig": {
      "mode": "record-based",
      "facets": [
        {
          "omitError": false,
          "expression": "isBlank(value)",
          "selectBlank": false,
          "selection": [
            {
              "v": {
                "v": false,
                "l": "false"
              }
            }
          ],
          "selectError": false,
          "invert": false,
          "name": "contributor",
          "omitBlank": false,
          "type": "list",
          "columnName": "contributor"
        }
      ]
    },
    "columnName": "contributor",
    "expression": "grel:value + \" (\" + cells[\"tmp_creator_role\"].value + \")\"",
    "onError": "keep-original",
    "repeat": false,
    "repeatCount": 10
  },
  {
    "op": "core/column-removal",
    "description": "Remove column Provenance (Production)",
    "columnName": "Provenance (Production)"
  },
  {
    "op": "core/column-removal",
    "description": "Remove column tmp_creator_role",
    "columnName": "tmp_creator_role"
  },
  {
    "op": "core/column-removal",
    "description": "Remove column tmp_creator",
    "columnName": "tmp_creator"
  },
  {
    "op": "core/column-removal",
    "description": "Remove column Provenance (History)",
    "columnName": "Provenance (History)"
  },
  {
    "op": "core/column-removal",
    "description": "Remove column Marks",
    "columnName": "Marks"
  },
  {
    "op": "core/column-rename",
    "description": "Rename column Registration Number to identifier",
    "oldColumnName": "Registration Number",
    "newColumnName": "identifier"
  },
  {
    "op": "core/column-removal",
    "description": "Remove column Height",
    "columnName": "Height"
  },
  {
    "op": "core/column-removal",
    "description": "Remove column Width",
    "columnName": "Width"
  },
  {
    "op": "core/column-removal",
    "description": "Remove column Depth",
    "columnName": "Depth"
  },
  {
    "op": "core/column-removal",
    "description": "Remove column Diameter",
    "columnName": "Diameter"
  },
  {
    "op": "core/column-removal",
    "description": "Remove column Weight",
    "columnName": "Weight"
  },
  {
    "op": "core/column-removal",
    "description": "Remove column identifier",
    "columnName": "identifier"
  },
  {
    "op": "core/column-rename",
    "description": "Rename column Persistent Link to identifier",
    "oldColumnName": "Persistent Link",
    "newColumnName": "identifier"
  },
  {
    "op": "core/multivalued-cell-join",
    "description": "Join multi-valued cells in column contributor",
    "columnName": "contributor",
    "keyColumnName": "id",
    "separator": "␟"
  },
  {
    "op": "core/multivalued-cell-join",
    "description": "Join multi-valued cells in column creator",
    "columnName": "creator",
    "keyColumnName": "id",
    "separator": "␟"
  }
]
