Attribute Paths

An attributeName in a DQL expression can be specified either as a simple name, or as an attribute path, which uses dot notation to navigate around the data model.

For example:

	orders.orderLines.quantity = 1

An attribute path can be:

  • the name of an attribute of the case object
  • the name of a composition/association relationship of the case object
  • the name of an attribute within its containment hierarchy, separated by dots
Note: The path must contain the name of an attribute or relationship, not the label.

If an attribute is multiplicity-many, then it will, by default, match if any of its values satisfy the condition. Alternatively, '[ALL]' may be placed after the path fragment to indicate that all values must match.

A zero-based index number may be specified after the path fragment in the form '[i]' to require a given value within a list of multiple values to match.

For example, given the following model of an Order class:

The following table shows a number of example attribute paths and their meanings.

Attribute path Meaning
orderId The 'orderId' attribute.
comments Any value of the multiplicity-many 'comments' attribute.
comments[ALL] All values of the multiplicity-many 'comments' attribute.
comments[0] The first (index zero) value of the multiplicity-many 'comments' attribute.
orderLines The 'orderLines' composition relationship.
orderLines.quantity The 'quantity' attribute of any of the OrderLine objects referred to by orderLines.
orderLines[ALL].quantity The 'quantity' attribute of all of the OrderLine objects referred to by orderLines.
orderLines.orderItem.itemEvents[ALL].description The 'description' attribute of all of the ItemEvent objects referred to by the OrderItem object of any OrderLine object referred to by orderLines. That is, there must be at least one OrderLine where all ItemEvents match.
orderLines[ALL].orderItem.itemEvents.description The 'description' attribute of any of the ItemEvent objects referred to by the OrderItem object of all OrderLine objects referred to by orderLines. That is, every OrderLine must have at least one matching ItemEvent.
orderLines[ALL].orderItem.itemEvents[ALL].description The 'description' attribute of all of the ItemEvent objects referred to by the OrderItem object of all OrderLine objects referred to by orderLines. That is, all ItemEvents must match.
dispatchNote This is a reference to a global object, so only the =null and !=null operators are valid.