Nodes may or may not be more than just points. Typically they are descriptively labeled with the name of the object, class, concept or state they are intended to represent. Nodes may also be typed with the class of object they represent. Typically, type is indicated by some visual attribute such as shape of label surround, color, or font.
Arcs may or may not be more than just lines or arrows. Although they may be labeled, it is not typical that they are labeled with some individual designation (as nodes typically are), but rather, if they are labeled, it is usually with their type. Typed arcs may also be destinguished by visual attributes such as line style, arrow head style, or color.
Given these two attributes, labeling and typing, on both nodes and links (this paper does
not deal with attributes like cyclicity and hierarchy), one would expect 24
or 16 classification of graphs. A few simple examples follow.
Formal uses of graphs are amenable to computer support and interpretation. For example,
Gaines' KDraw system [Gaines 91] is a graphical interface to the
CLASSIC knowledge representation language [Borgida 89]. In
this graphical systems, concepts, roles, individuals, constraints, and
rules are visually distinct node types; while the various relationships among
the nodes, such as is-a, exception, and has-constraint are expressed
as arcs between the nodes. The example demonstrates that,
although the arcs are not labeled and are not (for the most
part) visually distinct, they are implicitly typed as per the following diagram (which
is also a graph, but not a KDraw graph!):
Another formal graph is Conceptual Graphs [Sowa 84]. Conceptual
Graphs is also a knowledge representations intended to map onto first-order logic. These
graphs are bipartite where concept nodes (boxes) are always separated from one
another by relation nodes (circles). The example
illustrates the sentince "Tom beleives Mary wants to marry a sailor." Here, the arcs
are untyped and unlabeled, but the nodes are typed and labeled. But note that there
are two levels of typing: the system types concept and relation are quite
distinct from the user types such as PERSON and SAILOR. Although this
it may not be quite as obvious from the example, the KDraw
CLASSIC system exhibits a similar property. This is a critical distinction.
The system type level is the base theory on which the particular domain (e.g. object oriented programming languages, CLASSIC, Conceptual Graphs, or gIBIS) is based on. That is, the system level constitutes the fundamental and minimal principles on which a computation agent relies to interpret any particular statement in the domain of discourse. In the OO programming language domain, the system type level contains the concepts of class and object. In the CLASSIC domain, it contains primitive, concept, individual, role, rule, and constraint as well as the relations between them. In the the Conceptual Graphs domain it, contains concept and relation. In the gIBIS domain, it contains issue, position, and argument as well as the relationships such as responds-to and objects-to.
The user type level constitutes type objects that are all subtypes of one (or possibly more) of the system types. The user types may be extended, modified, and deleted by the user just as objects may be be created, modified, and deleted by the user. Manipulating user types does not interfer with a computational agent's ability to parse the statement expressed by the graph because all the user types are can be understood by virtue of being subtypes of one (or more) of the system types. The statement may be nonsensical, but it is parsable. In the OO programming language domain, the user type level may contain a list-of-integer, which is a subtype of the system type class. In the CLASSIC domain, it may contain employee and salary, which are subtypes of system types primitive and role respectively (see the forman example). In the the Conceptual Graphs domain it, may contain PTNT and PERSON, which are subtype of system types Relation and Concept respectively (see the example). In the gIBIS domain there are no user types because the this system is restricted to a static set of types which the user may not manipulate -- all types are system types.
The next several sections give some more detailed examples of the application of the three-level theory to graph systems.
The figure at right is a partial breakdown of some how some of the parts ofro
[Conklin 87] J. Conklin, M. L. Begeman. "gIBIS: A Hypertext Tool for Team Design
Deliberation." Hypertext'87, November, 1987, pp. 247-251.
[Gaines 91] B. R. Gaines. "An Interactive Visual Language for Term Subsumption
Languages." Proceedings of IJCAI-91, Sydney, Australia, August 24-30, 1991.
[Gowin ??]
J.F. Sowa, Conceptual Structures: Information Processing in Mind and Machine, Reading,
Massachusetts: Adison-Wesley. 1984.
kremer@cpsc.ucalgary.ca