Script API voor backend van graaf
In de dialoog voor de eigenschappen van de gegevensstructuur kunt u instellingen doen die behoren tot de backend van de graaf. Hierin, met Graaftype, kunt u het type kiezen van de graaf. De betekenis van deze typen is als volgt:
Graaf: Graaf waarin dezelfde kanten (met dezelfde begin- en eindpunten) niet meerdere keren kunnen voorkomen.
Multigraaf: Graaf waarin dezelfde kanten (met dezelfde begin- en eindpunten) meerdere keren kunnen voorkomen.

Gegevensstructuur graaf
Een graafobject bevat de informatie van een gegevensstructuur van het type Graph.

Eigenschappen
naam :
De unieke naam voor deze gegevensstructuur.

Methodes
nodes() 	 Tonen van alle knooppunten in de graaf.
array nodes
nodes(type) 	 Tonen van alle knooppunten in de graaf, van een opgegeven type.
array nodes int type
edges() 	 Tonen van alle kanten in de graaf.
array edges
edges(type) 	 Tonen van alle kanten in de graaf van een opgegeven type.
array edges int type
createNode(type) 	 Aanmaken van een nieuw knooppunt van het opgegeven type, en dit teruggeven. Indien het type niet wordt opgegeven, wordt het knooppunt niet aangemaakt.
GraphNode createNode int type
createNode() 	 Aanmaken van een nieuw knooppunt van het standaard type, en dit teruggeven.
GraphNode createNode
createEdge(van, tot, type) 	 Aanmaken van een kant vanaf knooppunt "vanaf" naar knooppunt "tot", van het opgegeven type, en deze teruggeven. Indien het type niet is opgegeven, wordt er geen kant aangemaakt.
GraphEdge createEdge GraphNode van GraphNode tot int type
createEdge(van, tot) 	 Aanmaken van een kant vanaf knooppunt "van" naar knooppunt "tot", van het standaard type, en deze teruggeven.
GraphEdge createEdge GraphNode van GraphNode tot
distances(from) 	 Geeft een lijst terug van de kortste weglengten vanaf dit knooppunt naar alle andere knooppunten in de graaf.
Array distances GraphNode van

Knooppunt van de graaf
Een knooppunt is het gegevenselement van de graaf.

Eigenschappen
breedte :
De grootte van dit gegevenselement.
x :
De x-coördinaat van dit gegevenselement.
y :
De y-coördinaat van dit gegevenselement.
id :
Dit is de unieke naam van dit gegevenselement.
color :
De kleur van dit gegevenselement, uitgedrukt in een hexadecimaal getal.

Methodes
neighbors() 	 Geef een lijst terug van alle met dit knooppunt verbonden knooppunten. Deze methode houdt rekening met het eventueel gericht zijn van kanten.
array neighbors
edges() 	 Geef een lijst terug van alle kanten (inkomend en uitgaand), verbonden met dit knooppunt.
array edges
edges(type) 	 Geef een lijst terug van alle kanten (inkomend en uitgaand), verbonden met dit knooppunt, en van een opgegeven type.
array edges int type
inEdges() 	 Geef een lijst terug van alle inkomende kanten, verbonden met dit knooppunt.
array inEdges
inEdges(type) 	 Geef een lijst terug van alle inkomende kanten, verbonden met dit knooppunt, en van een opgegeven type.
array inEdges int type
outEdges() 	 Geef een lijst terug van alle uitgaande kanten, verbonden met dit knooppunt.
array outEdges
outEdges(type) 	 Geef een lijst terug van alle uitgaande kanten, verbonden met dit knooppunt, en van een opgegeven type.
array outEdges int type
edgesTo(doel) 	 Geef een lijst terug van alle kanten tussen dit knooppunt en het opgegeven knooppunt.
array edgesTo GraphNode doel

Graafkant
Een kant is de verbinding van twee knooppunten in de graaf. Afhankelijk van hun type kunnen kanten gericht of ongericht zijn.

Eigenschappen
breedte :
De breedte van de verbinding.
gericht :
Indien waar, is de verbinding gericht. Anders is de verbinding niet gericht.
van :
Begin van de verbinding.
tot :
Einde van de verbinding
color :
Naam van het type verbinding.

Methodes
remove() 	 Deze verbinding verwijderen.
void remove
add_property(naam, waarde) 	 Een nieuwe eigenschap aan de verbinding toevoegen.
void add_property string naam string waarde
remove_property(naam) 	 Een bestaande eigenschap van de verbinding verwijderen.
void remove_property string naam