Ein Graph besteht aus Knoten und Kanten.
In einer Sitzung können mehrere Graphen nebeneinander benutzt
werden.
Namen für Graphen können
beliebig gewählt werden außer, daß sie weder Leerzeichen
noch Punkt enthalten dürfen. Der Name eines Graphen wird bei
Definition festgelegt, kann später aber noch verändert
werden.
In einem Graph können folgende
Typen von Kanten vorhanden sein:
- ungerichtete Kante (undirected
edge): Hierbei wird keine Ordnung zwischen den beiden zugehörigen
Knoten zugrunde gelegt.
- gerichtete Kante (directed
edge): Es gibt einen Startknoten (source) und einen Zielknoten
(target) der Kante. Dies müssen voneinander verschieden sein.
- Schleifen (loop): Hier
wird eine Kante mit nur einem Knoten assoziiert.
Diese drei Typen können nebeneinander
in einem Graph vorkommen (was sicherlich nur in wenigen Sonderfällen
Sinn macht). Insbesondere ist es erlaubt, zwischen zwei Knoten mehrfach
Kanten zu definieren (und natürlich auch Mehrfachschlingen).
Will man von diesen Kantentypen nur
eingeschränkt Gebrauch machen (z.B. einen gerichteten Graphen
mit Schleifen, einen ungerichteten Graph, gerichteter azyklischer
Graph - DAG), so erlaubt das Triggerkonzept die Datenstruktur entsprechend
einzuschränken.
|