logo
Why is not an instance of ? Confused? < Why "is-a" is not an instance of "instance-of"? Confused? < < Home 

prevUpnext

Why is-a is not an instance of instance-of? Confused?

Introduction

Regardless whether topic maps are created manually or automatically, the value and quality of a map increases with the number of associations between topics. While it is often a challenging task to identify appropriate association types it is important to install at least appropriate abstraction levels between relevant concepts.

While - in theory - classifications can be done in various ways, there are two types of relationships sufficient for most applications. The Topic Map XTM standard has acknowledged this fact and has defined them via PSIs (public subject identifiers) in the Annex E of the XTM standard:

class-instance can be used whenever it is necessary to link two topics together where one is the class and the other is an instance of this class. The other association type superclass-subclass is used for abstraction. In the following we will demonstrate uses of these two different association types and will point out their meaning to Topic Map processing software.

Things and Classes

Some topics represent real-world objects. If we want to express that Charlie is an Orang-Utan, then we actually want to state a set membership, where the subject Charlie is the set member and the set is defined by the class Orang-Utan. As a membership association is rather typical for almost every subject, AsTMa= - following the XTM standard - has acknowledged this by introducing dedicated syntax within a topic. This also encourages authors to immediately name the class within the member topic and avoids that simple facts are not easily overlooked.

In AsTMa= we would write:

charlie (orang-utan)
bn: Charlie
The topic(s) within the brackets are regarded to be the class of charlie.

As class-instance is an association type, we could also have expressed the membership fact as an explicit association:

(class-instance)
instance : charlie
class    : orang-utan
which is semantically equivalent to the solution above which defines this relationship en-passant (we assume that the topic class-instance is a reification of the respective PSI).

The class orang-utan itself is an instance of another set, the set of a genus, a zoological terminus technicus

orang-utan (genus)
bn: Orang Utan
oc: http://www.geocities.com/RainForest/Vines/5257/gdc4.html
The topic genus itself is again an instance, this time of, say, meta-category which indicates a rather abstract concept. This concept will help the Topic Map merging software to integrate our map with others.

Generalisations and Specialisations

Almost all scientific and non-scientific areas use some sort of category system. Usually they assume a most general thing, create specialisations thereof and specialisations of these specialisations. Others begin at the individual class and generalize, i.e. abstract away from particular features.

In our example the class orang-utan itself can also be part of another association, placing it into a biological classification scheme. The Orang-Utan belongs to the family pongidae, that again to the order primates and that in turn to the zoological class mammalia. To notate that we have to use the superclass-subclass association type mentioned above:

(superclass-subclass)
superclass: mammalia
subclass  : primates

(superclass-subclass)
superclass: primates
subclass  : pongidae

(superclass-subclass)
superclass: pongidae
subclass  : orang-utan

If the process of specialisation - or inversely that of abstraction - is along exactly one particular feature, say, the form of particular bones, then the category system will become a tree. Most category systems, though, allow to abstract along various features creating more complicated structures, such as lattices. This is not really a big concern of the Topic Map author who concentrates on one association one at a time.

Combining

The Topic Map author will freely mix both types of associations. In our case we could end up with further is-a relationships:

pongidae (family)

primates (order)

mammalia (class)
family, order and class could all be itself instances of meta-category. Eventually, we have extended our map to a small taxonomy as in Fig. 1.

Fig. 1:is-a and subclass-superclass

Note that a single topic can also be an instance of more than one other topic, be it due to the merging with other maps or explicitely by authoring:

charlie (orang-utan group-leader)
bn: Charlie
Every topic can also be associated several times with other topics. This allows us to express multiple-inheritance using associations of type superclass-subclass:
(superclass-subclass)
superclass: group-member
subclass  : group-leader

group-leader (organisational-role)

(superclass-subclass)
superclass: decision-maker
subclass  : group-leader
group-leader is now both a subclass of decision-maker and group-member.

Reasoning

Important from a Topic Map point of view is that a Topic Map processor will assume particular associations to have certain properties. For the association type superclass-subclass TM query engines may exploit the transitivity property which this association type implies: "If A is subclass of B and B is subclass of C then clearly A is also subclass of C", or - more formally - in AsTMa!:

forall ] (superclass-subclass)
         subclass   : $a
         superclass : $b [
   => forall ] (superclass-subclass)
               subclass   : $b
               superclass : $c [
      => exists ] (superclass-subclass)
                  subclass   : $a
                  superclass : $c [ is-reified-by superclass-subclass-transitivity
Exploiting here means that during retrieval the processor will use the above rule to add implicitely more facts. A query like return all subclasses of primates will not only return the direct subclass pongidae but also all subclasses thereof.

Another line of reasoning can be used by a TM processor by involving class-instance associations: If we know that one particular object O is an instance of a class C and that class is a (direct or indirect) subclass of D, then we can also assume that O is an instance of D. In our example, we would understand that Charlie is a mammal. To formalize this property, we could add the following rule to our reasoning base:

forall ] (class-instance)
         class    : $c
         instance : $i [
   => forall ] (superclass-subclass)
                subclass   : $c
                superclass : $d [
      => exists ] (class-instance)
                  class    : $d
                  instance : $i [ is-reified-by class-instance-hull
Together with the transitivity both rules allows the TM processor to reflect a simple, but effective knowledge base.

It is expected that future TM processors will by default support a number of such reasonable rules.


prevUpnext