Conceptual Structures







Type Definition

Canon for a type

Schema for a type

Individual Description

CSRule Description



The great philosopher Aristotle provided the basis for logical and rational thinking; how a philosopher should modelize and think the world, how knowledge and reasoning should be developed. The first step in such an enterprise is a clear and complete definition of each category used. The "spirit" of Aristotle "influenced" the work of logical empiricist philosophers of the early 20 century (i.e. Frege, Carnap, and Russell): they assert that any category (or type) should have a clear, complete, and formal definition. Otherwise, the type should be discarded and ultimately abandonned (at least from the scientific lexicon) ! Aristotle quasi-formal approach was used for centuries and it is still used in science, in general, and in logic and Artificial Intelligence (AI) in particular.

However, Aristotle and and the other philosophers and logicians made an emphasis on how human should think and should define types, not how he usually think and define types. Psychologists of the early 20 century like Selz and Bartlett (and cognitive psychologists that came later) as well as phenomenology philosophers (like Husserl, Heidegger, Wittgenstein, and Merleau-Ponty) made convincing claims that human doesn't proceed in a formal way. Most categories that human develop and use are not clearly and completely defined, they are "defined" by practice; by their use in different contexts and situations. These contexts and situations of use have been presented most often in terms of schemata (cluster of schema). A schema is a pattern that shows and specifies how a type relates to other types in a specific context. During the second part of the 20 century, Schema Theory becomes an important paradigm in cognitive psychology in particular and in cognitive science in general.

Of course, unlike the formal approach which aims to provide a close and definitive definition/semantic of a category/type (the definition is complete and will not change over time), the "realistic" view presents an open and extensible semantic of a type: some uses of a type can be changed, or extended, or discarded later. Other new uses can be added. These two approaches are in fact complementary: some types have indeed a clear and complete definition but most of types have no definition or have only a partial definition that specifies some constraints on how the type should be used in a usual and "normative" situation. A complete or a partial definition of a type, even if it can be stated, provides only a narrow semantic of a type. This semantic is completed by schemata which encode a broad semantic that covers background and common sense uses of a type.

In his first book [Sowa, 84], John Sowa illustrates how conceptual structures (complete definition of a type, canonical use of a type, schemata, individual description, prototype) can be specified using CG representation. Next sections show how CG can be used to describe conceptual structures.


Type Definition

A complete definition of a concept type specifies the necessary and sufficient conditions for what the type is. Complete definition describes how the type specializes its direct superType T and how it is differentiated from the other direct subTypes of T. This kind of definition is derived from Aristotle's method of definition by genus and differentiae. If all types of a domain are defined in this way (i.e. each type is defined as a specialization of its direct superType), then the set of these types/definitions form a type/definition hierarchy. Many applications in AI are based on this knowledge modelization.


- definition of Type Kiss (adapted from [Sowa, 84]): Kiss is a Touch (the genus) by a person with person's lips, in a tender manner.

[Touch : super]-
             -agnt->[Person]-part->[Lips: x],
             -inst->[Lips: x],

Note: In CG theory, a lambda expression is used to identify the genus. Instead of lambda expression, Amine provides the keyword "super" to specify that Touch is the genus for the type being defined.

- definition of Type Baseball: Baseball is a sport played by two teams with a ball and a bat. Each team is composed of 9 players.

 [Sport: super]<-obj-[Play]-
                                   -number->[Integer =2],
                                   -part->[Player]-number->[Integer =9]

- definition of Type OpenMarket: OpenMarket is a market where trades are done between a buyer and a seller about financial instrument.


Remark: According to the Artistotelian definition, a type can have only one genus. However, in some applications, a type should be defined in terms of several genus. Amine Platform allows this type of definition. Suppose for instance that we have to define Human as a LivingEntity and an IntelligentAgent with consciousness. This definition can be expressed as follows:

    [LivingEntity: super]-poss->[Consciousness]<-poss-[IntelligentAgent: super]


Definition of a Relation Type:

Not only concept type but also relation type can be defined. Consider the following example: definition of the relation type workOf(x_source, y_target):


Note: In CG theory, lambda expression is used to identify source and target concepts. Instead of lambda expression, Amine provides two keywords: "x_source" and "y_target" to specify what concepts in the definition of the relation correspond to the source concept and to the target concept respectively.


Canon for a Type

Often, we have not a complete definition of a type but only some constraints on how it should be used. A canon provides selectional constraints on the expected use of a Type in relation with other types. It corresponds to case frame structure used in natural language processing. Consider for instance, the canonical graph for the Type Open (the agent of Open should be an Animate, its instrument an Inanimate, and its object a Physical object):


Any (usual) use of type Open should be conform to the selectional constraints specified by its canonical graph. As stressed by John Sowa, canonical graphs are not definitions: a canon describes minimal constraints on the use of the type, it does not specify what the type is. Consider for instance the example provided by John Sowa [Sowa, 84] about the canonical graph of the type Occupy_Act and its definition:

Canonical graph of type Occupy_Act:



Definition of type Occupy_Act: Occupy_Act is a transaction of an animate that takes a place and that occupy it.

 [Transaction: super]-
                  -agnt->[Animate]<-agnt-[Take: t]<-part-[Transaction: super],
                              <-obj-[Take: t],
                              <-loc-[Occupy: o];
                  -part->[Occupy: o]<-stat-[Entity]<-inst-[Transaction: super]

For some types, there is a clear and complete definition. For other types, there is only a specification of the canonical use. Yet other types are specified only by their position in the type hierarchy (as subType of a Type and as a superType for other types: for instance, human is a subType of LivingEntity and he is superType for Man and Woman). The three cases of type specification (which are not exclusive) are usually enriched by practice; by the various contexts and situations (described as schemata) of uses of the type.


Schema (schemata)

As stated in the introduction, type's definition, even when complete definition is possible, provides only part of the meaning of the type. Schemata provide background knowledge and common sense related to various uses of the type. Schemata have been proposed by many philosophers (Kant, Wittgenstein, etc.), cognitive psychologists (Selz, Bartlett, etc.) and researchers in AI (Minsky, Schank, etc.) to emphasis the role and importance of context, background knowledge, and common sense. These are relevant sources for the meaning of a type. Type definition provides a narrow notion of a type while schemata present the broad notion. For Wittgenstein, the meaning of a type is the cluster of all the schemata that represent the uses of the type, each schema presents a perspective on one way the type may be used.

In Amine, we use the term "Situation" to denote "Schema".


- Here is some schemata related to type Primary_market (this is an excerpt from the sample BuildFinanceOntology).

    Schema #1: primary market that operates on newly issued stock provides new investment:


    Schema #2: Goal of primary market is to raise money value of capital:


    Schema #3: Primary market provides capital with new investment:



- Schemata related to type Money_market:

    Schema #1: [money_market]-trade->[security]-attr->[short_term]

    Schema #2:


    Schema #3:


    Schema #4:


    Schema #5:


These examples show that type's schemata describe various situations of use of a type. In Amine, a schema can be considered as a situation (a context of use) for not only one type but for several types. For instance, the previous schema (schema #5 of MoneyMarket) can be associated not only to MoneyMarket but also to loan and bargain (and even to seller and buyer).


Individual description

An individual can have a description which is typically an instanciation or specialization of the definition of its type, with eventually other specific and "accidental/occasional" information.


[Employee: khalid]-
               -age->[Integer = 45],
               -poss->[Salary]-valueOf->[Integer = 9000]


CSRule description

A CSRule is of the form: Antecedent => Consequence; If Antecedent, then Consequence.

Currently, Antecedent and Consequence are two CGs.


[Person:x]-friendOf->[Person:y]-friendOf->[Person:z]  =>





Coreferences and CSRules

Usually, coreferents relate concepts that are parts of embeeded CG, and these coreferences are represented by defined (like *x) and bound labels (like ?x). Coreferents that relate concepts in the antecedent of a rule with concepts in the consequent of the rule, are different from usual coreferents (antecedent and consequent don't form embeeded CGs). To represent this special case of coreferents, we (should) use variables instead of usual coreferents (with defined and bound labels) to denote coreferences between concepts that belong to the antecedent and consequent of a rule.



John F. Sowa, Conceptual Structures: Information Processing in Man and Machine, 1984, Addison-Wesley.