Declarative Objectivity (DO) Language : Expressions : Attribute Expressions
Attribute Expressions
An attribute expression evaluates to a named value from an object. Attribute expressions can be used as components of Expressions for Reachable Values.
Syntax 
attribute : name ('::' name)*;
Quick Look 
Update the vehicle with a particular license by setting its availability to false:
UPDATE Vehicle WHERE license == 'ABC1997' SET available TO false;
Delete any customers in the system that have no associated rental contracts:
DELETE Customers WHERE IS_EMPTY(rentals) RETURN lastName;
Discussion 
An attribute expression identifies a direct attribute of the current context object. You can use any number of attribute expressions in more complex expressions to designate values that are reachable through indirect attributes; see Expressions for Reachable Values.
An attribute expression evaluates to a value of the type specified by the class of the current context object. The returned value could be simple (such as a Boolean, numeric, string, date, time, or datetime value) or it could be more complex (such as an object reference, an embedded object, or a collection).
An attribute expression specifies either:
The simple name of an attribute.
The scoped name of an inherited attribute. You use the scoped syntax if the attribute name is ambiguous—for example, because the same name is defined in both the class of the clause’s current context object and the base class of that class. The following expression evaluates to the value of the attribute inheritedAttribute, which is inherited from the base class baseClassName:
baseClassName::inheritedAttribute 
See Names for details about well-formed attribute names.
Note:Do not confuse attribute expressions with attribute structures. Attribute expressions are for accessing values from persistent data, whereas attribute structures are for describing the attributes of a schema class.
Direct Attribute of the Current Context Object
An attribute expression accesses a direct attribute of the current context object.
For example, when the following statement processes each Customer, the expression in the SET clause evaluates to the numeric value accessed through the Customer’s rewardPoints attribute; the statement replaces the value with 1000.
UPDATE Customer SET rewardPoints TO 1000;