Accelerate the Value of Data

Reltio entity types

Learn about the Reltio entity types and how to define them.

Reltio gives you our fundamental entity object type to start with. Then, in the Reltio Connected Data Platform, you can modify the entity type definition elements to make it fit your needs.

What is an entity type?

In the context of Master Data Management (MDM), an entity is a distinct and uniquely identifiable object or concept within an organization's data domain. An entity fits within one or more categories - or "entity types" - of business information, such as customer, product, employee, supplier, or any other critical data elements that are essential for the operations of the organization. In other words, an entity type is a class of entity. For example, "Individual" is an entity type, and "Alyssa Smith" is a specific instances of the Individual entity type.

An entity type can include attributes, which are characteristics or traits of the entity type. For example:
  • Attributes of Customer entity type include Customer Name, Address, Phone Number, Email

  • Attributes of Product entity type include Product Name, SKU (Stock Keeping Unit), Price, Manufacturer

  • Attributes of Employee entity type include Employee Name, Employee ID, Position, Department

You can define entity types using metadata. To learn about the metadata properties used for Reltio entity types, see topic Entity Type Metadata.

Why define entity types?

Defining entity types is a critical part of creating your data model in the platform. Your entity types are essentially your building blocks. When your entity types are defined effectively, you set a firm foundation for the rest of your data model.
How entity types are used in the platform

Once you define entity types, you can link entities together in your data model by using the relationship type in our commercial graph.

Elements that can be defined in an entity type
When you define an entity type, you can define concepts and metadata properties, like:
  • Attributes and survivorship configuration
  • Entity roles
  • Match rules
  • Cleanse rules
  • Validation functions
You can use many types of metadata to define an entity type, including:
  • String
  • URI
  • Array
  • JSON
  • Boolean

Best practices for defining entity types

This example illustrates how to define an entity type for Individual.
Note: The Configuration API doesn't supported "id" parameters.
{  
   "URI":"configuration/entityTypes/Individual",
   "label":"Individual",
   "id":"3",
   "description":"Entity for representing a person",
   "typeColor":"#00FF00",
   "typeIcon":"entityType/Individual.png",
   "typeGraphIcon":"entityType/IndividualSmall.png",
   "typeImage":"defaultImage/no-photo.png",
   "dataLabelPattern":"{configuration/entityTypes/Individual/attributes/FirstName}",
   "entitySmartLogic":"Person",
   "entityTypeRoleURIs":[  
      "configuration/roles/Client",
      "configuration/roles/Advisor"
   ],
   "overrideIgnorePin":"false",
   "dependentAttributes":[  
      {  
         "attributeUri":"configuration/entityTypes/Party/attributes/Name",
         "default":[  
            "configuration/entityTypes/Party/attributes/DocumentLinks",
            "configuration/entityTypes/Individual/attributes/Prefix"
         ],
         "values":[  
            {  
               "valuesList":[  
                  "CCC",
                  "AAA"
               ],
               "visibleAttributes"               [  
                  "configuration/entityTypes/Party/attributes/ImageLinks",
                  "configuration/entityTypes/Party/attributes/DocumentLinks",
                  "configuration/entityTypes/Individual/attributes/Prefix"
               ]
            },
            {  
               "visibleAttributes":[  
                  "configuration/entityTypes/Individual/attributes/Prefix"
               ]
            }
         ]
      }
   ],
   "attributes":[  
      {  
         "URI":"configuration/entityTypes/Individual/attributes/FirstName",
         "name":"FirstName",
         "id":"4",
         "label":"First Name",
         "type":"String"
      },
      {  
         "URI":"configuration/entityTypes/Individual/attributes/Gender",
         "name":"Gender",
         "id":"5",
         "label":"Gender",
         "type":"String",
         "values":[  
            "Male",
            "Female",
            "Unknown"
         ]
      },
      {  
         ";URI":"configuration/entityTypes/Individual/attributes/ImageLinks",
         "name":"ImageLinks",
         "id":"5",
         "label":"Image Links",
         "type":"Image URL"
      },
      {  
         "URI":"configuration/entityTypes/Individual/attributes/Education",
         "name":"Education",
         "type":"Nested",
         "dataLabelPattern":"{configuration/entityTypes/Individual/attributes/Education/University} { 
                configuration / entityTypes / Individual / attributes / Education / Degree 
                }, 
                { 
                configuration / entityTypes / Individual / attributes / Education / YearOfGraduation 
                } 
                ",
         "attributes":[  
            {  
               "URI":"configuration/entityTypes/Individual/attributes/Education/University",
               "id":"1",
               "name":"University",
               "label":"University",
               "type":"String"
            },
            {  
               "URI":"configuration/entityTypes/Individual/attributes/Education/Degree",
               "id":"2",
               "name":"Degree",
               "label":"Degree",
               "type":"String"
            },
            {  
               "URI":"configuration/entityTypes/Individual/attributes/Education/YearOfGraduation",
               "id":"3",
               "name":"YearOfGraduation",
               "label":"Year of graduation",
               "type":"Int"
            },
            {  
               "URI":"configuration/entityTypes/Individual/attributes/Education/GPA",
               "id":"4",
               "name":"GPA",
               "label":"GPA",
               "type":"Float"
            }
         ]
      },
      {  
         "URI":"configuration/entityTypes/Individual/attributes/Address",
         "name":"Address",
         "label":"Address",
         "id":"9",
         "type":"Reference",
         "referencedEntityUR":"configuration/entityTypes/Location",
         "relationshipTypeURI":"configuration/relationshipTypes/HasAddress",
         "relationshipLabelPattern":"{configuration/relationshipTypes/HasAddress/attributes/AddressType",
         "referecedAttributeURIs":[  
            "configuration/relationshipTypes/HasAddress/attributes/AddressType",
            "configuration/entityTypes/Location/attributes/City"
         ]
      }
   ],
   "businessCardAttributeURIs":[  
      "configuration/entityTypes/Individual/attributes/FirstName",
      "configuration/entityTypes/Individual/attributes/Gender"
   ],
   "imageAttributeURIs":[  
      "configuration/entityTypes/Individual/attributes/ImageLinks"
   ],
   "matchGroups":[  
      {  
         "URI":"configuration/entityTypes/Individual/matchGroups/AutoMatch",
         "label":"Auto",
         "type":"automatic",
         "rule":{  
            "URI":"configuration/entityTypes/Individual/matchGroups/AutoMatch/matchRule",
            "or":{  
               "URI":"configuration/entityTypes/Individual/matchGroups/AutoMatch/matchRule/matchRule",
               "and":{  
                  "URI":"configuration/entityTypes/Individual/matchGroups/AutoMatch/matchRule/matchRule/matchRule",
                  "exact":[  
                     "configuration/entityTypes/Individual/attributes/FirstName",
                     "configuration/entityTypes/Individual/attributes/LastName",
                     "configuration/entityTypes/Individual/attributes/MiddleName"
                  ]
               },
               "exact":[  
                  "configuration/entityTypes/Individual/attributes/SSN"
               ]
            }
         }
      },
      {  
         "URI":"configuration/entityTypes/Individual/matchGroups/SuspectMatch",
         "label":"SuspectName",
         "type":"suspect",
         "rule":{  
            "URI":"configuration/entityTypes/Individual/matchGroups/SuspectMatch/matchRule",
            "exact":[  
               "configuration/entityTypes/Individual/attributes/FirstName"               ;,
               "configuration/entityTypes/Individual/attributes/LastName"
            ]
         }
      }
   ]
}

Entity inheritance

Often, entity types can materialize in single instances, such as the "Alyssa" Individual entity example above. Some entity types in Reltio Connected Data Platform layers remain abstract so you can take advantage of inheritance.

The Reltio Connected Cloud L1 layer defines the abstract Party entity type with a small collection of attributes in it. The L1 then goes on to define the Individual entity type and the Organization entity type, both of which inherit from Party, both of which are non-abstract and both of which add additional attributes specific to their type and business function.

Continuing with the concept of inheritance, in the L2 Life Sciences container, the HCP entity is defined to represent physicians, which inherits from the Individual type but also defines a small collection of attributes unique to the HCP concept. So then we have the entity hierarchy Party, Individual, or HCP, and the resulting HCP entity type provides the developer and user with the aggregate attribution of Party, Individual and HCP.

To learn more about inheritance, see topic Object inheritance.