2.3 Statements about Object's   Attributes

F-Logic  supports two types of object attributes-those which can have only one value and those which can have many values. Here is an example of single valued attribute roels_bycile[color-->black]. Here is another example:  roel[wife-->tiny]. This statement represent the fact 'roel has wife tiny".  We shall use the following graphic representation for single valued attributes:

 dot-code

The example of multi-valued attribute is as follows:

roel[owns -->>{roels_bicycle, roels_farm, sachha, noosam}].

Here it is in the  graphic form:

dot-code

Multi-valued attributes will be always represented by edges with two arrows. It is possible to combine the information about object attributes and classes. The last statement supplemented with class information will look as follows:

roel:person[owns -->>{roels_bicycle:bicycle, roels_farm:farm, sachha:cat, noosam:dog}].

F-Logic allows to combine simple statement into complex ones with the help of logical connections AND, OR ,NOT. As it is common in logic programming languages, AND is denoted by simple comma ','. OR is denoted by a semicolon ';'. NOT is normally described as "not". It is also possible to combine information about several attributes of an object into one statement. The assertions about  different values of one multivalued attribute could be done in several places. The following three statements are equivalent

roel[owns -->>{roels_bicycle:bicycle, roels_farm:farm, sachha:cat, noosam}], roel[wife-->tiny].    (Note that  ',' stands for AND)

roel[wife-->tiny,  owns -->>{roels_bicycle:bicycle, roels_farm:farm, sachha:cat, noosam:dog}].

roel[wife-->tiny,  owns -->>{roels_bicycle:bicycle}],  roel[owns-->>{roels_farm:farm, sachha:cat, noosam:dog}]

Such complex statements are called F-Molecules, while simple statements are called F-Atoms. The graphic representation flattens the differences between these 3 cases:

dot-code

 

Top     |  Previous   |   Next

C 2003 S. Krivov  Send your comments to skrivov@zoo.uvm.edu