Identifying Attributes for Entities

The identifying attribute for an entity is the text attribute whose value is used for labeling instances of the entity in the Debugger and some other places (such as on interview screens, in explanations and in test cases). So for example, if you had a text attribute 'the child' as the identifying attribute for the entity 'the child', then after you have set values for 'the child' attribute (for example, 'Kenji', 'Akira', 'Maiya' and 'Akiko'), the child entity instances would be labeled accordingly.

Data tab in Debugger showing child entities labelled by their values

An identifying attribute is automatically created when a new entity is created. By default, this text attribute has:

  • Attribute text that is the same as the entity text (for example, 'the child' attribute for 'the child' entity).
  • A name which is based on the entity text (but without the definite article 'the' and having underscores instead of spaces, for example, 'child', 'child_pet').
  • Sentence forms based on a generic (he/she) gender (for example, 'Who is the child?'). If the entity is something that does not have a gender, or has a specifically male or female gender, you will need to change the question text.
  • Substitution enabled. You need to consider if this is how you want the attribute to operate. For more information on substitution, see Personalize Attribute Text.

If you want to change any of these default settings, you will need to edit the attribute.

To change the attribute that is used to identify an entity or to specify one if there is not one:

  1. On the Data tab in the Entity Structure view, double-click the entity to open the Edit Entity dialog.
  2. Click the arrow in the Identifying attribute field.
  3. In the drop-down list, select the attribute to use as the identifying attribute.
  4. Click OK.

Note that:

  • As the purpose of an identifying attribute is to provide an identifier for each entity instance, the identifying attribute should be an attribute that will have relatively short values (usually no more than 32 characters).
  • The identifying attribute values need to be unique if entity instances are being created in rules or if entity instances are being used in test cases.
  • While an identifying attribute can be used with substitution enabled, it doesn't have to be. You could instead use a separate attribute for the purpose of substituting the entity instance value into other attribute's containing its text. For example, if you had an entity 'the car', you could have an attribute, 'the car', used for the purposes of substitution into sentences containing 'the car', and have another attribute, 'the car's registration', used as the identifying attribute for the entity.