DOT är ett grafbeskrivningsspråk . _
En graf som beskrivs på DOT-språket är vanligtvis en textfil med tillägget .gv eller .dot i ett format som är begripligt för en person och ett bearbetningsprogram .
I grafisk form representeras grafer som beskrivs i DOT-språket med hjälp av speciella program, såsom Graphviz .
Även om språket accepterar standardtilläggen .gv och .dot bör det första valet, .gv , föredras eftersom tillägget .dot används i Microsoft Office 2003 [1] .
Grafstrukturen i DOT-språket beskrivs som en lista med subgrafer, där varje element är en konstruktion:
graf % grafnamn% { }inom vilken (inom parentes - { }) finns kommentarer och instruktioner som beskriver subgrafen. Instruktionerna beskriver hörn och kanter på målgrafen och är åtskilda av ett semikolon — ; .
DOT-språket stöder kommentarer i C- och C++-stil, // och /**/, samt #-symbolen som används för dessa ändamål i vissa programmeringsspråk som det första tecknet i en enkelradskommentar.
// En rad kommentar. # En rad kommentar. /* Flerradig kommentar. */En oriktad graf i DOT-språket beskrivs av en lista med hörn och kanter, representerade av namnet på hörnen och ett dubbelstreck (--) mellan de associerade hörnen.
graph graphname { a ; b ; c ; d ; a - b ; b -- c ; b - d ; }Eller på motsvarande sätt, utelämna överflödiga beskrivningar:
graph graphname { a - b - c ; b - d ; } Riktad grafEn riktad graf på DOT-språket beskrivs av en lista med hörn och kanter, representerade av namnet på hörnen och en stiliserad streck- och triangelparentespil (->) mellan de associerade hörnen:
digraph graphname { a -> b -> c ; b - > d }Eller med redundant beskrivning:
digraph graphname { a ; b ; c ; d ; a -> b ; b -> c ; b - > d }När du beskriver grafer i DOT-språket kan du använda attribut som bestämmer färg, form och stil på hörn och kanter. Attribut beskrivs i nyckel=värdepar inom hakparenteser ([nyckel=värde]). För varje element i grafen kan flera attribut definieras, åtskilda av ett mellanslag
graph graphname { // label - synligt namn på vertexet a [ etikett = "Foo" ]; // form - definierar formen på vertexet b [ form = låda ]; // färg - kantfärgdefinition a -- b -- c [ färg = blå ]; // stil - kantstilsdefinition b - d [ stil = prickad ]; }Eftersom DOT-språket automatiskt arrangerar element på ett optimalt sätt, ger det inte möjlighet att specificera deras positioner. Därför arrangeras ibland inte elementen som förväntat.
Grafiska redigerare används för att korrigera den visuella presentationen.
Till exempel:
digraph g { nod [ form = klartext ] A1 -> B1 A2 -> B2 A3 -> B3 A1 -> A2 [ etikett = f ] A2 -> A3 [ etikett = g ] B2 -> B3 [ etikett = "g'" ] B1 -> B3 [ etikett = "(gof)'" bakport = s huvudport = s ] { rank = samma ; A1 A2 A3 _ { rank = samma ; B1 B2 B3 } }För att representera grafer som beskrivs i DOT-språket används många program, widgets och bibliotek, inklusive: