Multi-valued Attributes

The attributes in the Map can have multiple values, although the example fields (such as 'firstName') refer to only zero or one column in the data worksheet. More complex values, such as classification.integrityImpact, are possible. Custom attributes are handled this way, for example: customAttributes.long1, customAttributes.string1, and so on.

When an object can have multiple values for a specific attribute, a similar notation is used. The object is said to have a one-to-many or many-to-many relationship with another object. A User object, for example, can have a relationship with more than one Role object. The user's 'roles' attribute can be multi-valued. While importing, roles are referenced by their name attribute. So, to specify more than one role for a User, the map file might include:

 Attribute Column Default Value
roles.1.nameCAnalyst
roles.2.nameDAdministrator

In this situation, the user has two named attributes, both called 'roles'. This mechanism can be extended to multiple attributes, for example, vendorServices.1.ownerships.1.ownershipType.name. This example (from EntityImportTemplate.xls) refers to the first vendorServices associated with the asset. In this case, vendorServices can have multiple ownerships so we are assigning a value to the ownershipType.name of the first ownership of the first vendor service.