4.3.1 Concept types


All concepts must have a concept type, and this concept type should generally be specified in the type hierarchy in the program. Otherwise, the concept type will have no place in the type hierarchy, and consequently the type will not be very useful.

A concept type can also be a variable, in which case the Prolog engine must be able to infer the type for it to be useful.


Entity > Animal, Act, Persuasion.

Animal = Wolf, Lamb.
Act = Say.

SpeechAct([Animal : Wolf]<-AGNT-[Act : Say]-THME->[Persuasion]).

This example is available in the AAU directory as Aesop2.plgCG.


First, there is a short type hierarchy in which the types "Entity", "Animal", "Act" and "Persuasion" are defined.

Then, we have a catalog of instances in which the Wolf and Lamb are declared to be instances of Animal. "Say" is also declared to be an instance of Act.

Then we have a fact which is called "SpeechAct" and which encloses a conceptual graph. The fact is there in case we need to refer to the CG in a rule somewhere else in the program.

The CG uses the three types "Animal", "Act", and "Persuasion".

PrevLite: 4.3 Concepts
NextLite: 4.3.2 Referents

Prev: 4.3 Concepts
Up: 4.3 Concepts
Next: 4.3.2 Referents