WEAK SLOT and FILLER STRUCTURES

This data structure is useful because it enables attribute values to be retrieved quickly as assertions are indexed by the entities and binary predicates are indexed by first argument

dept(jones , computing). Properties of relations are easy to describe and it allows ease of consideration as it embraces aspects of object oriented programming.

SEMANTIC NETS

The major idea is that the meaning of a concept comes from its relationship to other concepts and the information is stored by interconnecting nodes with labelled arcs.

The physical attributes of a person can be represented as in fig 9.1.

These values can also be represented in logic as

isa(person, mammal) instance(peeweereese, person)

team(peeweereese, brooklyn dodgers)

we could write conventional predicates such as

man(marcus ) in the notation instance (marcus , man)

More than two items can be linked together using predicates such as

score(cubs, dodgers, 5-3)

We can represent this as a semantic network using a node to reprent the game as in fig 9.2.

There are more attributes and we could represent these as additional links.

In fig 9.3 we can represent the sentence John gave Mary the book.

We need to distinguish between the link that defines a new entity and holds its value and the other kind of link that relates two existing entities. Consider the example shown where the height of two people is depicted and we also wish to compare them. We need extra nodes for the concept as well as its value. Special procedures are needed to process these nodes, but without this distinction the analysis would be very limited.

Partitioned Networks

The partitioned networks in fig 9.4 enable us to handle the sentences

the dog bit the postman

every dog has bitten a postman

every dog in the city has bitten the constable

Note that the first sentence involves one dog and one postman.

The second means that each dog has bitten some postman, whereas the third suggests that there is a constable and each dog has bitten him as distinct from,

every dog has bitten every postman.

When semantic networks become very structured it is likely that they should be treated as a frame system. Starting from our initial concept of holding labelled connections between entities we have seen that the tasks to be solved force the representation to become more complex.

CLASSES

A class class1 can be a subset of another class3 and class2 can also be a subset of class3. Class1 and class2 can be disjoint so that there is no intersection or no element in common.

On the other hand if a group of disjoint classes have a union that is equal to the original set then they are said to produce a covering and each class is called a partition of the original class.

A brief introduction to Frames

A frame is a collection of attributes or slots and associated values that describe some real world entity. Frames on their own are not paricularly helpful but frame systems are a powerful way of encoding information to support reasoning. Set theory provides a good basis for understanding frame systems. Each frame represents an instance of a class or set and to see how this works consider fig 9.5 as a modification of fig 4.5.

Here the frames Person, Adult male, ML Baseball player and MLbaseball team are all classes and the frames Peeweereese and Brooklyn Dodgers are instances.

We shall see that a class represent a set and the isa relation is in fact the subset relation. The instance relation is in fact element of. The isa attribute possesses a transitivity property and so Peeweereese is a fielder and a fielder is a ML Baseball player who in turn is a Adult male and also a Person.

Both isa and instance have inverses which are called subclasses or all instances. There are attributes that are associated with the class or set such as cardinality. There are 26 ML Baseball teams. On the other hand there are attributes that are possessed by each member of the class or set , denoted by a * such as height or batting average.

DISTINCTION BETWEN SETS AND INSTANCES

Brooklyn Dodgers can be thought of as a set of players or as an instance of a MLbaseball team.

If Brooklyn Dodgers were a class then its instances would be players; it could not be a subclass of MLbaseball team otherwise its elements would be members of MLbaseball team which we do not want. Instead we make it a subclass of ML Baseball player and this allows the players to inherit the correct properties enabling us to let the Brooklyn Dodgers to inherit information about teams. This means that Brooklyn Dodgers is an instance of MLbaseball team.

There is a problem here. A class is a set and its elements have properties. We wish to use inheritance to bestow values on its members. But there are properties that the set or class itself has such as the manager of a team. This is why we need to view Brooklyn Dodgers as a subset of one class players and an instance of teams.

In fig 9.6 we introduce the idea of a metaclass whose elements are themselves classes. The basic metaclass is CLASS, and this allows us to define classes which are instances of other classes and thus to inherit properties from this class. Inheritance of default values occurs when one element or class is an instance of a class. Looking at figs 9.6 and 9.7 we can see that MLbaseball team is an element of CLASS and inherits properties of CLASS and is a subset of Team. Brooklyn Dodgers is an element of MLbaseball team and inherits properties of an MLbaseball team such as manager or team size but it does not inherit properties of CLASS such as cardinality. Finally Peeweereese is an instance of Brooklyn Dodgers and thus by transitivity a ML Baseball player, also Peeweereese is an instance of fielder which enables him to inherit the correct batting average. Every class is a set but not every set is a class. A set is a class when it has some meaning associated with it such as people in a team or with a profession rather than people you met on a train. Perhaps passengers on a train could be a class allowing them to inherit properties like tickets and destinations.OBJECTS

The previous discussion has shown the power of the concept of an object or frame with attributes. We would like to represent the following properties in addition, such as:

to which classes can attributes such as height be attached;

constraints on values such as age being less than a hundred; default values;

rules for inheritance of values such as children inheriting parent's names;

rules for computing values; whether slot has many values.

A slot is a relation that maps from its domain of classes to its range of values. A relation is a set of ordered pairs so one relation is a subset of another. Since slot is a set the set of all slots is a metaclass called SLOT. This is illustrated in figs 9.9 and 9.10.

Instances of SLOT are slots and associated with SLOT are attributes that each instance will inherit. Each slot has a domain and range. Range is split into two parts one the class of the elements and the other is a constraint which is a logical expression if absent it is taken to be true.

If there is a value for default then it must be passed on unless an instance has its own value.

The to compute attribute involves a procedure to compute its value. Transfers through lists other slots from which values can be derived from inheritance.

We assume that the frame system interpreter is capable of :

consistency checking when a slot value is added to the frame relying on the domain attribute and that the value is legal using range and range constraints;

propagation of definition values and inheritance of default values along isa and instance links;

computation of value of slot as needed & checking that only correct number of values computed;

To overcome a potential problem in defining range constraint and default as parts of a slot in fig 9.11 we show how two default values can be stored, one for a fielder and one for an ML Baseball player. The correct default is chosen by selecting the correct domain.

The four most important properties of a slot- domain range definition and default are defined by how the slot is used in the definitions of class in its domain . The range and any range constraints are described by the clause MUST BE as shown in fig 9.12

Examples

the to-compute attribute is illustrated in bats and my-manager. We use the dot notation to assign values to the slot of a frame. To find the value of my manager we first need the value of team.

The manager slot illustrates the use of range constraint for the person must have experience.

Uniform colour is a more specialised form of colour.

The colour slot illustrates the use of transfers through.