Sample use cases

Add a community, a domain with assets representing schema, tables, columns and the relevant relations

The JSON in this section performs the following operations in an environment where these resources do not exist yet:

  • Adds a community: DBs Community.
  • Adds a domain inside the created community: Physical Domain.
  • Adds the following assets to the created domain: SCHEMA_1, TABLE_1, TABLE_2, TAB_1_COLUMN_1, TAB_1_COLUMN_2, TAB_2_COLUMN_1.
  • Creates the relations:
    • SCHEMA_1 contains TABLE_1.
    • SCHEMA_1 contains TABLE_2.
    • TAB_1_COLUMN_1 is part of TABLE_1.
    • TAB_1_COLUMN_2 is part of TABLE_1.
    • TAB_2_COLUMN_1 is part of TABLE_2.
Input
[{
  "resourceType": "Community",
  "identifier": {
    "name": "DBs Community"
  }
},
{
  "resourceType": "Domain",
  "identifier": {
    "name": "Physical Domain",
    "community": {
      "name": "DBs Community"
    }
  },
  "type": {
    "name": "Physical Data Dictionary"
  }
},
{
  "resourceType": "Asset",
  "identifier": {
    "name": "SCHEMA_1",
    "domain": {
      "name": "Physical Domain",
      "community": {
        "name": "DBs Community"
      }
    }
  },
  "type": {
    "name": "Schema"
  }
},
{
  "resourceType": "Asset",
  "identifier": {
    "name": "TABLE_1",
    "domain": {
      "name": "Physical Domain",
      "community": {
        "name": "DBs Community"
      }
    }
  },
  "type": {
    "name": "Table"
  },
  "relations": {
    "00000000-0000-0000-0000-000000007043:SOURCE": [
      {
        "name": "SCHEMA_1",
        "domain": {
          "name": "Physical Domain",
          "community": {
            "name": "DBs Community"
          }
        }
      }
    ]
  }
},
{
  "resourceType": "Asset",
  "identifier": {
    "name": "TABLE_2",
    "domain": {
      "name": "Physical Domain",
      "community": {
        "name": "DBs Community"
      }
    }
  },
  "type": {
    "name": "Table"
  },
  "relations": {
    "00000000-0000-0000-0000-000000007043:SOURCE": [
      {
        "name": "SCHEMA_1",
        "domain": {
          "name": "Physical Domain",
          "community": {
            "name": "DBs Community"
          }
        }
      }
    ]
  }
},
{
  "resourceType": "Asset",
  "identifier": {
    "name": "TAB_1_COLUMN_1",
    "domain": {
      "name": "Physical Domain",
      "community": {
        "name": "DBs Community"
      }
    }
  },
  "type": {
    "name": "Column"
  },
  "relations": {
    "00000000-0000-0000-0000-000000007042:TARGET": [
      {
        "name": "TABLE_1",
        "domain": {
          "name": "Physical Domain",
          "community": {
            "name": "DBs Community"
          }
        }
      }
    ]
  }
},
{
  "resourceType": "Asset",
  "identifier": {
    "name": "TAB_1_COLUMN_2",
    "domain": {
      "name": "Physical Domain",
      "community": {
        "name": "DBs Community"
      }
    }
  },
  "type": {
    "name": "Column"
  },
  "relations": {
    "00000000-0000-0000-0000-000000007042:TARGET": [
      {
        "name": "TABLE_1",
        "domain": {
          "name": "Physical Domain",
          "community": {
            "name": "DBs Community"
          }
        }
      }
    ]
  }
},
{
  "resourceType": "Asset",
  "identifier": {
    "name": "TAB_2_COLUMN_1",
    "domain": {
      "name": "Physical Domain",
      "community": {
        "name": "DBs Community"
      }
    }
  },
  "type": {
    "name": "Column"
  },
  "relations": {
    "00000000-0000-0000-0000-000000007042:TARGET": [
      {
        "name": "TABLE_2",
        "domain": {
          "name": "Physical Domain",
          "community": {
            "name": "DBs Community"
          }
        }
      }
    ]
  }
}]

Import mappings for assets

The JSON in this section creates mappings for schema, table and column assets.

This example works only if the referenced resources exist. Run the import commands from the beginning of this page to create them.

The following mappings are created, in an environment where these resources do not exist yet:

  • (EXT_SYSTEM, EXT_SCHEMA_1_ID) → SCHEMA_1.
  • (EXT_SYSTEM, EXT_TABLE_1_ID) → TABLE_1.
  • (EXT_SYSTEM, EXT_TABLE_2_ID) → TABLE_2.
  • (EXT_SYSTEM, EXT_TABLE_1_COLUMN_1_ID) → TAB_1_COLUMN_1.
  • (EXT_SYSTEM, EXT_TABLE_1_COLUMN_2_ID) → TAB_1_COLUMN_2.
  • (EXT_SYSTEM, EXT_TABLE_2_COLUMN_1_ID) → TAB_2_COLUMN_1.

When you manually delete a resource that is referenced by a mapping, the mapping is not also deleted. Only the reference to the deleted resource in the mapping is removed. This helps external systems detect that Collibra used to store resources that are now deleted. The external systems can then decide to take appropriate action.

Input
[{
  "resourceType": "Mapping",
  "identifier": {
    "externalSystemId": "EXT_SYSTEM",
    "externalEntityId": "EXT_SCHEMA_1_ID"
  },
  "asset": {
    "name": "SCHEMA_1",
    "domain": {
      "name": "Physical Domain",
      "community": {
        "name": "DBs Community"
      }
    }
  }
},
{
  "resourceType": "Mapping",
  "identifier": {
    "externalSystemId": "EXT_SYSTEM",
    "externalEntityId": "EXT_TABLE_1_ID"
  },
  "asset": {
    "name": "TABLE_1",
    "domain": {
      "name": "Physical Domain",
      "community": {
        "name": "DBs Community"
      }
    }
  }
},
{
  "resourceType": "Mapping",
  "identifier": {
    "externalSystemId": "EXT_SYSTEM",
    "externalEntityId": "EXT_TABLE_2_ID"
  },
  "asset": {
    "name": "TABLE_2",
    "domain": {
      "name": "Physical Domain",
      "community": {
        "name": "DBs Community"
      }
    }
  }
},
{
  "resourceType": "Mapping",
  "identifier": {
    "externalSystemId": "EXT_SYSTEM",
    "externalEntityId": "EXT_TABLE_1_COLUMN_1_ID"
  },
  "asset": {
    "name": "TAB_1_COLUMN_1",
    "domain": {
      "name": "Physical Domain",
      "community": {
        "name": "DBs Community"
      }
    }
  }
},
{
  "resourceType": "Mapping",
  "identifier": {
    "externalSystemId": "EXT_SYSTEM",
    "externalEntityId": "EXT_TABLE_1_COLUMN_2_ID"
  },
  "asset": {
    "name": "TAB_1_COLUMN_2",
    "domain": {
      "name": "Physical Domain",
      "community": {
        "name": "DBs Community"
      }
    }
  }
},
{
  "resourceType": "Mapping",
  "identifier": {
    "externalSystemId": "EXT_SYSTEM",
    "externalEntityId": "EXT_TABLE_2_COLUMN_1_ID"
  },
  "asset": {
    "name": "TAB_2_COLUMN_1",
    "domain": {
      "name": "Physical Domain",
      "community": {
        "name": "DBs Community"
      }
    }
  }
}]

Import assets and create mappings implicitly

You can import assets and their mappings within the same input file.

The JSON in this section performs the following operations in an environment where these resources do not exist yet:

  • Adds a community: DBs Community.
  • Adds a domain inside the created community: Physical Domain.
  • Adds the following assets to the created domain: SCHEMA_1, TABLE_1, TABLE_2, TAB_1_COLUMN_1, TAB_1_COLUMN_2, TAB_2_COLUMN_1.
  • Creates the relations:
    • SCHEMA_1 contains TABLE_1.
    • SCHEMA_1 contains TABLE_2.
    • TAB_1_COLUMN_1 is part of TABLE_1.
    • TAB_1_COLUMN_2 is part of TABLE_1.
    • TAB_2_COLUMN_1 is part of TABLE_2.
  • Creates the mappings:
    • (EXT_SYSTEM, EXT_SCHEMA_1_ID) → SCHEMA_1.
    • (EXT_SYSTEM, EXT_TABLE_1_ID) → TABLE_1.
    • (EXT_SYSTEM, EXT_TABLE_2_ID) → TABLE_2.
    • (EXT_SYSTEM, EXT_TABLE_1_COLUMN_1_ID) → TAB_1_COLUMN_1.
    • (EXT_SYSTEM, EXT_TABLE_1_COLUMN_2_ID) → TAB_1_COLUMN_2.
    • (EXT_SYSTEM, EXT_TABLE_2_COLUMN_1_ID) → TAB_2_COLUMN_1.

When you manually delete a resource that is referenced by a mapping, the mapping is not also deleted. Only the reference to the deleted resource in the mapping is removed. This helps external systems detect that Collibra used to store resources that are now deleted. The external systems can then decide to take appropriate action.

Input
[{
  "resourceType": "Community",
  "identifier": {
    "name": "DBs Community"
  }
},
{
  "resourceType": "Domain",
  "identifier": {
    "name": "Physical Domain",
    "community": {
      "name": "DBs Community"
    }
  },
  "type": {
    "name": "Physical Data Dictionary"
  }
},
{
  "resourceType": "Asset",
  "identifier": {
    "externalSystemId": "EXT_SYSTEM",
    "externalEntityId": "EXT_SCHEMA_1_ID"
  },
  "name": "SCHEMA_1",
  "domain": {
    "name": "Physical Domain",
    "community": {
      "name": "DBs Community"
    }
  },
  "type": {
    "name": "Schema"
  }
},
{
  "resourceType": "Asset",
  "identifier": {
    "externalSystemId": "EXT_SYSTEM",
    "externalEntityId": "EXT_TABLE_1_ID"
  },
  "name": "TABLE_1",
  "domain": {
    "name": "Physical Domain",
    "community": {
      "name": "DBs Community"
    }
  },
  "type": {
    "name": "Table"
  },
  "relations": {
    "00000000-0000-0000-0000-000000007043:SOURCE": [
      {
        "externalSystemId": "EXT_SYSTEM",
        "externalEntityId": "EXT_SCHEMA_1_ID"
      }
    ]
  }
},
{
  "resourceType": "Asset",
  "identifier": {
    "externalSystemId": "EXT_SYSTEM",
    "externalEntityId": "EXT_TABLE_2_ID"
  },
  "name": "TABLE_2",
  "domain": {
    "name": "Physical Domain",
    "community": {
      "name": "DBs Community"
    }
  },
  "type": {
    "name": "Table"
  },
  "relations": {
    "00000000-0000-0000-0000-000000007043:SOURCE": [
      {
        "externalSystemId": "EXT_SYSTEM",
        "externalEntityId": "EXT_SCHEMA_1_ID"
      }
    ]
  }
},
{
  "resourceType": "Asset",
  "identifier": {
    "externalSystemId": "EXT_SYSTEM",
    "externalEntityId": "EXT_TABLE_1_COLUMN_1_ID"
  },
  "name": "TAB_1_COLUMN_1",
  "domain": {
    "name": "Physical Domain",
    "community": {
      "name": "DBs Community"
    }
  },
  "type": {
    "name": "Column"
  },
  "relations": {
    "00000000-0000-0000-0000-000000007042:TARGET": [
      {
        "externalSystemId": "EXT_SYSTEM",
        "externalEntityId": "EXT_TABLE_1_ID"
      }
    ]
  }
},
{
  "resourceType": "Asset",
  "identifier": {
    "externalSystemId": "EXT_SYSTEM",
    "externalEntityId": "EXT_TABLE_1_COLUMN_2_ID"
  },
  "name": "TAB_1_COLUMN_2",
  "domain": {
    "name": "Physical Domain",
    "community": {
      "name": "DBs Community"
    }
  },
  "type": {
    "name": "Column"
  },
  "relations": {
    "00000000-0000-0000-0000-000000007042:TARGET": [
      {
        "externalSystemId": "EXT_SYSTEM",
        "externalEntityId": "EXT_TABLE_1_ID"
      }
    ]
  }
},
{
  "resourceType": "Asset",
  "identifier": {
    "externalSystemId": "EXT_SYSTEM",
    "externalEntityId": "EXT_TABLE_2_COLUMN_1_ID"
  },
  "name": "TAB_2_COLUMN_1",
  "domain": {
    "name": "Physical Domain",
    "community": {
      "name": "DBs Community"
    }
  },
  "type": {
    "name": "Column"
  },
  "relations": {
    "00000000-0000-0000-0000-000000007042:TARGET": [
      {
        "externalSystemId": "EXT_SYSTEM",
        "externalEntityId": "EXT_TABLE_2_ID"
      }
    ]
  }
}]

Modify an asset using the asset mapping as identification

You can update an asset using the asset mapping as identifier.

This example works only if the referenced resources exist. Run the import commands from the beginning of this page to create them.

Input
[{
  "resourceType": "Asset",
  "identifier": {
    "externalSystemId": "EXT_SYSTEM",
    "externalEntityId": "EXT_TABLE_1_COLUMN_1_ID"
  },
  "name": "TAB_1_COLUMN_1_NEW"
}]

Update schema, table and column assets

This example works only if the referenced resources exist. Run the import commands from the beginning of this page to create them.

The JSON in this section performs the following operations:

  • Changes the display name of SCHEMA_1 to SCHEMA.
  • Changes the display name of TABLE_1 to T1.
  • Changes the display name of TABLE_2 to T2.
  • Changes the display name of TAB_1_COLUMN_1 to C1.
  • Changes the display name of TAB_1_COLUMN_2 to C2.
  • Changes the display name of TAB_2_COLUMN_1 to C3.
Input
[{
  "resourceType": "Asset",
  "identifier": {
    "name": "SCHEMA_1",
    "domain": {
      "name": "Physical Domain",
      "community": {
        "name": "DBs Community"
      }
    }
  },
  "displayName": "SCHEMA",
  "type": {
    "name": "Schema"
  }
},
{
  "resourceType": "Asset",
  "identifier": {
    "name": "TABLE_1",
    "domain": {
      "name": "Physical Domain",
      "community": {
        "name": "DBs Community"
      }
    }
  },
  "displayName": "T1",
  "type": {
    "name": "Table"
  },
  "relations": {
    "00000000-0000-0000-0000-000000007043:SOURCE": [
      {
        "name": "SCHEMA_1",
        "domain": {
          "name": "Physical Domain",
          "community": {
            "name": "DBs Community"
          }
        }
      }
    ]
  }
},
{
  "resourceType": "Asset",
  "identifier": {
    "name": "TABLE_2",
    "domain": {
      "name": "Physical Domain",
      "community": {
        "name": "DBs Community"
      }
    }
  },
  "displayName": "T2",
  "type": {
    "name": "Table"
  },
  "relations": {
    "00000000-0000-0000-0000-000000007043:SOURCE": [
      {
        "name": "SCHEMA_1",
        "domain": {
          "name": "Physical Domain",
          "community": {
            "name": "DBs Community"
          }
        }
      }
    ]
  }
},
{
  "resourceType": "Asset",
  "identifier": {
    "name": "TAB_1_COLUMN_1",
    "domain": {
      "name": "Physical Domain",
      "community": {
        "name": "DBs Community"
      }
    }
  },
  "type": {
    "name": "Column"
  },
  "displayName": "C1",
  "relations": {
    "00000000-0000-0000-0000-000000007042:TARGET": [
      {
        "name": "TABLE_1",
        "domain": {
          "name": "Physical Domain",
          "community": {
            "name": "DBs Community"
          }
        }
      }
    ]
  }
},
{
  "resourceType": "Asset",
  "identifier": {
    "name": "TAB_1_COLUMN_2",
    "domain": {
      "name": "Physical Domain",
      "community": {
        "name": "DBs Community"
      }
    }
  },
  "displayName": "C2",
  "type": {
    "name": "Column"
  },
  "relations": {
    "00000000-0000-0000-0000-000000007042:TARGET": [
      {
        "name": "TABLE_1",
        "domain": {
          "name": "Physical Domain",
          "community": {
            "name": "DBs Community"
          }
        }
      }
    ]
  }
},
{
  "resourceType": "Asset",
  "identifier": {
    "name": "TAB_2_COLUMN_1",
    "domain": {
      "name": "Physical Domain",
      "community": {
        "name": "DBs Community"
      }
    }
  },
  "displayName": "C3",
  "type": {
    "name": "Column"
  },
  "relations": {
    "00000000-0000-0000-0000-000000007042:TARGET": [
      {
        "name": "TABLE_2",
        "domain": {
          "name": "Physical Domain",
          "community": {
            "name": "DBs Community"
          }
        }
      }
    ]
  }
}]

Import multiple resource attributes

The JSON in this section performs the following operations in an environment where these resources do not exist yet:

  • Adds a community: DBs Community.
  • Adds a domain inside the created community: Physical Domain.
  • Adds the asset DB_TABLE to the created domain with the following attributes:
    • Profiling Information.
    • Description.
Input
[{
  "resourceType": "Community",
  "identifier": {
    "name": "DBs Community"
  }
},
{
  "resourceType": "Domain",
  "identifier": {
    "name": "Physical Domain",
    "community": {
      "name": "DBs Community"
    }
  },
  "type": {
    "name": "Physical Data Dictionary"
  }
},
{
  "resourceType": "Asset",
  "identifier": {
    "name": "DB_TABLE",
    "domain": {
      "name": "Physical Domain",
      "community": {
        "name": "DBs Community"
      }
    }
  },
  "type": {
    "name": "Table"
  },
  "attributes": {
    "Description": [
      {
        "value": "The Users table"
      }
    ],
    "Profiling Information": [
      {
        "value": "Please do"
      }
    ]
  }
}]

Import multivalue attributes

For this example to work, you must create a new attribute type and assign it to the Table asset type in Collibra Data Intelligence Cloud.

Show me how.

  1. On the main menu, click , and then click Settings.
    The Collibra settings page opens.
  2. In the tab pane, click CharacteristicsAttributes.

    The attributes table opens.

  3. Above the table, to the right, click Add.
    The Create Attribute Type dialog box appears.
  4. Enter the required information.

    Field

    Value

    NameIndexes
    KindMultiple Selection
    with valuessurname name id (press Enter to separate each value)
  5. Click Save.

    The attribute type Indexes is created.

  6. In the tab pane, click Asset Types.
    The asset type table appears.
  7. In the asset type table, select the Table asset type.

    The asset type editor opens.

  8. In the tab pane, click Global assignment.

    The global assignments: characteristic table appears.

  9. Above the table, to the right, click Edit.
  10. Above the table, to the right, click Add characteristic.
    The Add a Characteristic dialog box appears.
  11. Select Indexes.
  12. Above the table, to the right, click Save.

The JSON in this section performs the following operations in an environment where these resources do not exist yet:

  • Adds a community: DBs Community.
  • Adds a domain inside the created community: Physical Domain.
  • Adds the asset DB_TABLE to the created domain with the following multivalue attribute:
    • Indexes.
Input
[{
  "resourceType": "Community",
  "identifier": {
    "name": "DBs Community"
  }
},
{
  "resourceType": "Domain",
  "identifier": {
    "name": "Physical Domain",
    "community": {
      "name": "DBs Community"
    }
  },
  "type": {
    "name": "Physical Data Dictionary"
  }
},
{
  "resourceType": "Asset",
  "identifier": {
    "externalSystemId": "EXT_SYSTEM",
    "externalEntityId": "EXT_TABLE"
  },
  "name": "DB_TABLE",
  "domain": {
    "name": "Physical Domain",
    "community": {
      "name": "DBs Community"
    }
  },
  "type": {
    "name": "Table"
  },
  "attributes": {
    "Indexes": [
      {
        "values": [ "surname", "name" ]
      }
    ]
  }
}]

Import relations

The JSON in this section performs the following operations in an environment where these resources do not exist yet:

  • Adds a community: DBs Community.
  • Adds a domain inside the created community: Physical Domain.
  • Adds the asset DB_SCHEMA without relations.
  • Adds the asset DB_TABLE with a source relation to USERS_SCHEMA.
  • Adds the asset DB_COLUMN with a target relation to USERS_TABLE.

You can specify relation types in multiple ways:

  • Using the relation type resource ID and the relation direction separated by a colon, for example: 00000000-0000-0000-0000-000000007042:TARGET.
  • Using the relation type public ID and the relation direction separated by a colon, for example: ColumnIsPartOfTable:TARGET.
  • Using a fully qualified relation type name separated by colons and the relation direction also separated by a colon, for example: Schema:contains:is part of:Table:SOURCE.

You can not use the fully qualified name to specify a relation type if the name of the relation type contains a colon.

Input
[
  {
    "resourceType": "Community",
    "identifier": {
      "name": "DBs Community"
    }
  },
  {
    "resourceType": "Domain",
    "identifier": {
      "name": "Physical Domain",
      "community": {
        "name": "DBs Community"
      }
    },
    "type": {
      "name": "Physical Data Dictionary"
    }
  },
  {
    "resourceType": "Asset",
    "identifier": {
      "name": "DB_SCHEMA",
      "domain": {
        "name": "Physical Domain",
        "community": {
          "name": "DBs Community"
        }
      }
    },
    "type": {
      "name": "Schema"
    }
  },
  {
    "resourceType": "Asset",
    "identifier": {
      "name": "DB_TABLE",
      "domain": {
        "name": "Physical Domain",
        "community": {
          "name": "DBs Community"
        }
      }
    },
    "type": {
      "name": "Table"
    },
    "relations": {
      "SchemaContainsTable:SOURCE": [
        {
          "name": "DB_SCHEMA",
          "domain": {
            "name": "Physical Domain",
            "community": {
              "name": "DBs Community"
            }
          }
        }
      ]
    }
  },
  {
    "resourceType": "Asset",
    "identifier": {
      "name": "DB_COLUMN",
      "domain": {
        "name": "Physical Domain",
        "community": {
          "name": "DBs Community"
        }
      }
    },
    "type": {
      "name": "Column"
    },
    "relations": {
      "ColumnIsPartOfTable:TARGET": [
        {
          "name": "DB_TABLE",
          "domain": {
            "name": "Physical Domain",
            "community": {
              "name": "DBs Community"
            }
          }
        }
      ]
    }
  }
]

Import tags

The JSON in this section performs the following operations in an environment where these resources do not exist yet:

  • Adds a community: DBs Community.
  • Adds a domain inside the created community: Physical Domain.
  • Adds the asset DB_SCHEMA without tags.
  • Adds the asset DB_TABLE with the tags:
    • TAG_1.
    • TAG_2.
Input
[{
  "resourceType": "Community",
  "identifier": {
    "name": "DBs Community"
  }
},
{
  "resourceType": "Domain",
  "identifier": {
    "name": "Physical Domain",
    "community": {
      "name": "DBs Community"
    }
  },
  "type": {
    "name": "Physical Data Dictionary"
  }
},
{
  "resourceType": "Asset",
  "identifier": {
    "name": "DB_SCHEMA",
    "domain": {
      "name": "Physical Domain",
      "community": {
        "name": "DBs Community"
      }
    }
  },
  "type": {
    "name": "Schema"
  }
},
{
  "resourceType": "Asset",
  "identifier": {
    "name": "DB_TABLE",
    "domain": {
      "name": "Physical Domain",
      "community": {
        "name": "DBs Community"
      }
    }
  },
  "type": {
    "name": "Table"
  },
  "tags": ["TAG_1", "TAG_2"]
}]

Import complex relations

For this example to work, you must have the following resources:

  • A community named DBs Community.
  • A Physical Data Dictionary domain inside the community named Physical Domain.
  • A Mapping domain inside the community named My Mapping Domain.
  • The following Column assets in Physical Domain: DB_COL_SOURCE_1, DB_COL_SOURCE_2, DB_COL_TARGET_1, DB_COL_TARGET_2.
  • A Mapping Specification asset named MapSpec in My Mapping Domain.

Get the JSON to create them.

Input
[{
  "resourceType": "Community",
  "identifier": {
    "name": "DBs Community"
  }
},
{
  "resourceType": "Domain",
  "identifier": {
    "name": "Physical Domain",
    "community": {
      "name": "DBs Community"
    }
  },
  "type": {
    "name": "Physical Data Dictionary"
  }
},
{
  "resourceType": "Domain",
  "identifier": {
    "name": "My Mapping Domain",
    "community": {
      "name": "DBs Community"
    }
  },
  "type": {
    "name": "Mapping Domain"
  }
},
{
  "resourceType": "Asset",
  "identifier": {
    "name": "DB_COL_SOURCE_1",
    "domain": {
      "name": "Physical Domain",
      "community": {
        "name": "DBs Community"
      }
    }
  },
  "type": {
    "name": "Column"
  }
},
{
  "resourceType": "Asset",
  "identifier": {
    "name": "DB_COL_SOURCE_2",
    "domain": {
      "name": "Physical Domain",
      "community": {
        "name": "DBs Community"
      }
    }
  },
  "type": {
    "name": "Column"
  }
},
{
  "resourceType": "Asset",
  "identifier": {
    "name": "DB_COL_TARGET_1",
    "domain": {
      "name": "Physical Domain",
      "community": {
        "name": "DBs Community"
      }
    }
  },
  "type": {
    "name": "Column"
  }
},
{
  "resourceType": "Asset",
  "identifier": {
    "name": "DB_COL_TARGET_2",
    "domain": {
      "name": "Physical Domain",
      "community": {
        "name": "DBs Community"
      }
    }
  },
  "type": {
    "name": "Column"
  }
},
{
  "resourceType": "Asset",
  "identifier": {
    "name": "MapSpec",
    "domain": {
      "name": "My Mapping Domain",
      "community": {
        "name": "DBs Community"
      }
    }
  },
  "type": {
    "name": "Mapping Specification"
  }
  }]

The JSON in this section performs the following operations in an environment where these resources do not exist yet:

  • Adds a field mapping complex relation between the assets and a description attribute.
  • Creates a mapping based on the external system and entity for the imported complex relation for further reference.
Input
[{
  "resourceType": "Complex Relation",
  "identifier": {
    "externalSystemId": "DB-Metadata-System",
    "externalEntityId": "FieldMapping12345678"
  },
  "complexRelationType": {
    "name": "Field Mapping"
  },
  "relations": {
    "00000000-0000-0000-0000-000000007088": [
      {
        "name": "DB_COL_SOURCE_1",
        "domain": {
          "name": "Physical Domain",
          "community": {
            "name": "DBs Community"
          }
        }
      },
      {
        "name": "DB_COL_SOURCE_2",
        "domain": {
          "name": "Physical Domain",
          "community": {
            "name": "DBs Community"
          }
        }
      }
    ],
    "00000000-0000-0000-0000-000000007089": [
      {
        "name": "DB_COL_TARGET_1",
        "domain": {
          "name": "Physical Domain",
          "community": {
            "name": "DBs Community"
          }
        }
      },
      {
        "name": "DB_COL_TARGET_2",
        "domain": {
          "name": "Physical Domain",
          "community": {
            "name": "DBs Community"
          }
        }
      }
    ],
    "00000000-0000-0000-0000-000000007090": [
      {
        "name": "MapSpec",
        "domain": {
          "name": "My Mapping Domain",
          "community": {
            "name": "DBs Community"
          }
        }
      }
    ]
  },
  "attributes": {
    "Description": [
      {
        "value": "XXX_COLUMN_1"
      }
    ]
  }
  }]