Database performatives

Previous: Basic informative performatives Up: Reserved Performative Names Next: Basic responses

Database performatives

These performatives, INSERT, DELETE, etc. provide an ability for one agent to request another agent to insert or delete sentences in its VKB.


insert
     :content <expression>
     :language <word>
     :ontology <word>
     :reply-with <expression>
     :in-reply-to <expression>
     :force <word>
     :sender <word>
     :receiver <word>

The sender requests the receiver to add the :content sentence to its VKB. The performative can either fail or succeed. Possible errors and warning conditions are:


delete
     :content <performative>
     :language KQML
     :ontology <word>
     :reply-with <expression>
     :in-reply-to <expression>
     :sender <word>
     :receiver <word>

The sender requests the receiver to delete the :content sentence from its VKB. The sentence must be ground. The performative can either fail or succeed. Possible errors and warning conditions are:


delete-one
     :content <performative>
     :aspect <expression>
     :order { first | last | undefined }
     :language KQML
     :ontology <word>
     :reply-with <expression>
     :in-reply-to <expression>
     :sender <word>
     :receiver <word>

The sender requests the receiver to delete one sentence from its VKB which matches :content. Note that performatives of this type make most sense with languages that define schema variables.

The :aspect parameter describes the form of the desired reply; for the match of the deleted :content in the recipient's VKB, the reply will be the :aspect with all of its schema variables replaced by the values bound to the corresponding schema variables in deleted sentence. The value of the :aspect parameter defaults to the value of the :content parameter. if the :aspect is NIL, then no response will be given for a successful deletion.

The optional :order parameter specifies whether the sentence to be deleted should be the first or last one found in the VKB (this will only make sense to some agents (e.g. Prolog based ones)). The default value for the :order parameter is undefined.

The performative can either fail or succeed. Possible errors and warning conditions are:


delete-all
     :content <performative>
     :aspect <expression>
     :language KQML
     :ontology <word>
     :reply-with <expression>
     :in-reply-to <expression>
     :sender <word>
     :receiver <word>

This performative is like delete-one, except that the reply should be a collection of instantiated aspects corresponding to all deleted sentences matching the :content.

The performative can either fail or succeed. Possible errors and warning conditions are:

finin@cmsc