Reltio Identity 360

 View Only
  • 1.  Separate files for related data (such as phone numbers, email addresses, or identifiers)

    Reltio Employee
    Posted 07-29-2021 10:07
    What approach should I follow in the data loader if I have separate files for related data, such as phone numbers, email addresses, or identifiers for my person data?

    ------------------------------
    Amanda Wilson
    ------------------------------


  • 2.  RE: Separate files for related data (such as phone numbers, email addresses, or identifiers)

    Reltio Employee
    Posted 08-02-2021 11:26
    Hi Amanda

    I am assuming that you have multiple files containing related data for the same source - meaning the same crosswalk will be used for the records. In such case for the first file let's say containing id and address, you can select the full data load on the define step of the data loader. When the remaining files are loaded, say id and phone or containing id and email,  you need to select Partial data load on the define step. This makes sure the new data for phone, email etc. are progressively added to the profile. 

    The other scenario is the additional data like phone, email etc. are coming from different source and you want to capture those sources as well. In such case you need to have the id and source (crosswalk) from the first file (containing id and address) as part of the new file (containing phone number and crosswalk of new source). The crosswalk value from the first file will be for searching the record and the new crosswalk values along with phone numbers attributes will be added to the profile. You can achieve this while creating the mapping for the additional data. When you load the file containing the phone numbers/emails, you need to map the old crosswalk value under crosswalks tab and mark it as a contributor provider. You also need to map the new crosswalk as well and mark it as a data provider. This will make sure the email or phone number is appended to the profile.

    Let me know if you have any further question.

    Regards
    Gaurav

    ------------------------------
    Gaurav Gera
    ------------------------------



  • 3.  RE: Separate files for related data (such as phone numbers, email addresses, or identifiers)

    Reltio Employee
    Posted 08-02-2021 11:30

    Hi Amanda

    There could be quite a few "depends" type of answers here based on your data so it may take a bit of a discussion to go through various scenarios because Reltio is built very differently to an old school relational database.  Let me provide some background first.  The concept of a child table to manage multiple values (e.g. multiple emails) does not exist in Reltio. Instead, we have simplified the data model to where every attribute in Reltio can actually store more than one value and attributes can have attributes (we call these types of attributes Nested Attributes by the way).  So in the case of email, for starters it's an attribute of the Person and what you will see when you look at the email attribute is that email can have a type, an email address and other sub-attributes (hence the term nested).  Our survivorship rules in Reltio actually dynamically determine whether Reltio will show one value or more values for any attribute.  The survivorship rules usually used on attributes that one would think of as "child" objects in a relational database (e.g. Email, Phone, Address, Identifiers etc) are set by default to what we call Aggregation.  This means that all the distinct values will be displayed, no matter how many there are.  So in this manner you actually have a very dynamic way of managing your data because everything about the entity (e.g. Person) is contained within that entity in the form of attributes and attributes can hold many values if needed.  

    So now let's assume you have already loaded data into Reltio from source X containing those attributes that would usually have a single value (e.g. First Name, Last Name, Date of Birth etc).  Now you want to load the "child" data from that same source X  (e.g. the file contains the customer id's with multiple email addresses per customer record).  In this case I would create a mapping in data loader based on this file and I would choose the option of "Partial Update" in the step after the mapping.  This is important because it instructs Reltio to not replace the entire contents of the record (based on the mapped crosswalk ID from the source) but to just replace a portion of the record based on the incoming data.  This may seem strange at first if you're thinking in relational terms but remember that the email attribute is just that; an attribute of the Person (not a child object) and so the partial update is needed to essentially add the email values to the existing record.

    I hope this clarifies the process a bit more when it comes to loading those one to many scenarios.  There is some added complexity that could arise though if you are continually populating a nested attribute from various sources in that you may need to consider the use of additional crosswalk ID's to ensure you don't accidentally overwrite an existing nested attribute value.  Let me know if you want me to delve into that into more detail.  

    Regards, Guy



    ------------------------------
    Guy Vorster
    ------------------------------