Skip to content

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"/>