Reltio entity types

Learn about the Reltio entity types and how you can 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’s definition elements to make it fit your needs.

Ok, let's break this down

At Reltio, we use the entity type as a class of entity. For example, the property Individual is an entity type, and Alysa represents a specific instance of that entity type. Other common examples of entity types include Organization, Location, and Product. The metadata for an entity defines that entity type.

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
  • Validation functions
You can use up to 27 metadata properties to define an entity type, including:
  • String
  • URL
  • Array
  • JSON
  • Boolean

Best practices for defining entity types

Defining an entity type for Individual.
Note: Currently, "id" parameters are not supported by Configuration API.
{  
   "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"
            ]
         }
      }
   ]
}

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

To learn more about inheritance, see Object inheritance.

Consider this inheritance example

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.