Accelerate the Value of Data

Recipes for Reltio Integration for Collibra

Learn about the different recipes available for Collibra.

Here are the Reltio Integration for Collibra recipes and their specific functions.

Main

  1. Take input - Collibra community & domain name, Reltio tenant ID & Environment.

  2. Get Reltio L3 configuration

  3. Define constants for storing Collibra asset type IDs, attribute type IDs, relation type IDs etc. Data model name = {tenantLabel}_{tenantId}_{tenantEnv}

  4. Call recipes in order - Initial Setup, Create Entities, Create Relationships, Add Reference Attribute Relations, Delete Assets.

  5. Update Data Model’s description, last updated time, last updated by using Collibra Core API.

Initial Setup

  1. Define constants for storing Collibra asset type IDs.

  2. Get or Create community, domain, system & data model using the Collibra API. If it already exists, fetch the ID or else create the asset and get the ID from response. Add Relation - System implements Data Model in Collibra.

  3. Delete all entries from the lookup tables.

  4. Add Data Model ID to created assets table.

  5. Get or create Reltio Relationship asset type, Reltio Relationship contains Data Entity/Data Attribute relation type, Data Model contains Reltio Relationship relation type, Data entity contains/references Data Entity relation type using the Collibra API.

  6. Return the type IDs of the assets created in this step including domain & data model for further use by other recipes.

Create Entities

  1. Define constant for storing relation type.

  2. Iterate through entity types in L3 config. Ignore if entity type is abstract.

    1. Get or create data entity with full name {tenantLabel}_{tenantId}_{tenantEnv}>entity>{entity URI’s path last name}. Patch display name of entity at the same time.

    2. Add created asset ID and entity URI to created assets & URI->Asset ID tables

    3. Update Entity description using the Collibra API

    4. Create Relation - Data Entity is part of Data Model

    5. Call Create attributes. Pass Entity ID, Entity full name, parent type = entity, attribute json and other required things as parameters.

Create Relationships

  1. Iterate through relation types in L3 configuration:

    1. Get or create Reltio Relationship asset with full name {{tenantLabel}_{tenantId}_{tenantEnv}>relation>relation URI’s path last name}. Patch asset display name at the same time.

    2. Add Asset ID to created asset table.

    3. Update Relationship description using the Collibra API.

    4. Delete all relations whose source/target is Reltio Relationship asset using the Collibra API.

    5. Call create attributes if the relationship has attributes with parent type = Relationship

    6. Get or create lhs & rhs relation types - Data Entity {startObject>Directional context>Label pattern} Reltio Relationship asset & Reltio Relationship asset {endObject>Directional context>Label pattern} Data Entity.

    7. Search for Collibra asset IDs of source & target in Reltio URI->Collibra Asset ID lookup table. Add the 2 relations - between source & relationship asset and between relationship asset & target to toBeCreatedRelations list. If relationship is not directed, use role as co-role. Add relation - Data Model contains Reltio Relationship to toBeCreatedRelations list.

    8. Bulk create relations in toBeCreatedRelations list using the Collibra API.

Create Attributes

  1. Delete all entries from Recursion lookup table.

  2. Add the initial entry to the recursion stack.

  3. Define constants for storing attribute types.

  4. Repeat while stack has entries -

    1. Pop any one entry from stack.

    2. Execute python script to extract fields from attribute json.

    3. Iterate through item in JSON:

      1. Get or Create Data Attribute with full name {parentFullName}>{attribute name in l3 config}. Patch the attributes display name at the same time.

      2. Add created asset ID and attribute URI to created assets & URI->Asset ID tables.

      3. Update attribute’s description, data type and is required using the Collibra API.

      4. if masking is present in json fields, then add PII flag to attribute using the Collibra API.

      5. IF attribute type equals reference - create relation data entity references data entity. Store Collibra Asset ID and referenced URIs in Collibra Reference Attributes table.

      6. ELSE IF parent type = Relationship, create relation Relationship asset contains Data Entity/Data Attribute based on whether the attribute is nested or simple.

      7. ELSE create relation data entity contains data entity / data attribute based on whether the attribute is nested or simple.

      8. If attribute type equals nested, add attributes of json along with other required entries to the stack.

Add reference attribute relations

  1. For each entry in Collibra reference attributes

  2. Get all relations whose source is reference attribute using the Collibra API and add it to toBeDeleted list.

  3. Execute python script to convert string of URIs to list of URIs.

  4. For each URI in list of URIs

    1. Get the corresponding asset ID from the Reltio URI->Collibra Asset ID table.

    2. Add relation configuration to toBeCreated list. This contains source ID, target ID and the type of relation - Data Entity contains Data Entity / Data attribute based on whether the attribute is nested.

  5. Bulk delete the relations in toBeDeleted list using the Collibra API.

  6. Bulk create the relations in toBeCreated list using the Collibra API.

Delete Assets

  1. Get all assets in Collibra whose full name starts with {tenantLabel}_{tenantId}_{tenantEnv}.

  2. For each asset, if its ID does not exist in Created assets table - add it to toBeDeleted list.

  3. Bulk delete the assets in toBeDeleted list.