Conditions¶
Definitions¶
<has_value predicate="p"/>
<has_shared_value predicate="p"/>
<has_private_value predicate="p"/>
<in_shared_commitments predicate="p" value="x"/>
<in_private_beliefs predicate="p" value="x"/>
<in_beliefs_or_commitments predicate="p" value="x"/>
<in_shared_commitments>
<service_action_terminated name="MakeReservation"/>
</in_shared_commitments>
<in_beliefs_or_commitments>
<perform action="top"/>
</in_beliefs_or_commitments>
<has_more_items predicate="p"/>
<has_more_items iterator="i"/>
<and>
<has_value predicate="p"/>
<not>
<in_private_beliefs predicate="p" value="x"/>
</not>
</and>
Conditions that evaluate to true depending on what the current beliefs of the system are.
| Attribute | Type | Description |
|---|---|---|
| predicate | string | Required for has_*_value and for in_* when using attribute form. The value must be enumerated in the ontology. |
| value | string | Optional for in_* conditions when the predicate is nullary; required otherwise. |
Parents¶
Children¶
- None
Behaviour¶
The has_*_value conditions evaluate to true if there is a proposition in shared commitments or in private beliefs, depending on the condition.
The in_* conditions evaluate to true if the proposition specified by attributes or a child proposition is found in shared commitments or in private beliefs, depending on the condition. Child propositions may be one of: proposition (predicate), perform, resolve, service_action_started, service_action_terminated, action_status, question_status, resolved, or know_answer.
The has_more_items condition checks if an enumeration <query> or an <iterator> has more items.
The boolean operators evaluate their children as expected: and requires all children to be true, or requires at least one child to be true, and not inverts exactly one child condition.
Examples¶
in_shared_commitments:¶
This condition will evaluate to true if it is known by the user and the system that the flight is late.
<in_shared_commitments predicate="flight_departure" value="late"/>
With child proposition:
<in_shared_commitments>
<service_action_terminated name="BookHousing"/>
</in_shared_commitments>
in_private_beliefs:¶
This condition will evaluate to true if it is known only by the system that the flight is late.
<in_private_beliefs predicate="flight_departure" value="late"/>
in_beliefs_or_commitments:¶
This condition will evaluate to true if it is known, possibly only by the system, whether the flight is late or not.
<in_beliefs_or_commitments predicate="flight_departure" value="late"/>
has_shared_value:¶
This condition will evaluate to true if it is known by the user and the system whether the flight is late or not.
<has_shared_value predicate="flight_departure"/>
has_private_value:¶
This condition will evaluate to true if it is known by the system but not by the user whether the flight is late or not.
<has_private_value predicate="flight_departure"/>
has_value:¶
This condition will evaluate to true if it is known, possibly only by the system, whether the flight is late or not.
<has_value predicate="flight_departure"/>
has_more_items, query:¶
This condition will evaluate to true if an enumeration query has not yet reached its last element.
<has_more_items predicate="possible_destination_city"/>
has_more_items, iterator:¶
This condition will evaluate to true if an iterator has not yet reached its last element.
<has_more_items iterator="nice_destinations_in_mongolia"/>