DOT este un limbaj de descriere a graficelor .
Un grafic descris în limbajul DOT este, de obicei, un fișier text cu extensia .gv sau .dot într-un format care poate fi înțeles pentru o persoană și pentru un program de procesare .
În formă grafică, graficele descrise în limbajul DOT sunt reprezentate folosind programe speciale, cum ar fi Graphviz .
Deși limbajul acceptă extensiile standard .gv și .dot , prima alegere, .gv , ar trebui să fie preferată deoarece extensia .dot este utilizată în Microsoft Office 2003 [1] .
Structura graficului în limbajul DOT este descrisă ca o listă de subgrafe, fiecare element fiind o construcție:
graph % graphname% { }în interiorul căruia (în paranteze - { }) se află comentarii și instrucțiuni care descriu subgraful. Instrucțiunile descriu vârfurile și muchiile graficului țintă și sunt separate prin punct și virgulă — ; .
Limbajul DOT acceptă comentarii în stil C și C++, // și /**/, precum și simbolul # folosit în aceste scopuri în unele limbaje de programare ca prim caracter al unui comentariu pe o singură linie.
// Comentariu pe un rând. # Comentariu pe un rând. /* Comentariu cu mai multe rânduri. */Un grafic nedirecționat în limbajul DOT este descris de o listă de vârfuri și muchii, reprezentate de numele vârfurilor și o liniuță dublă (--) între vârfurile asociate.
graph graphname { a ; b ; c ; d ; a - b ; b -- c ; b - d ; }Sau echivalent, omițând descrierile redundante:
graph graphname { a - b - c ; b - d ; } Graficul direcționatUn grafic direcționat în limbajul DOT este descris de o listă de vârfuri și muchii, reprezentate de numele vârfurilor și de o săgeată stilizată liniuță și paranteză triunghiulară (->) între vârfurile asociate:
digraf graphname { a -> b -> c ; b - > d }Sau cu descriere redundantă:
digraf graphname { a ; b ; c ; d ; a -> b ; b -> c ; b - > d }Când descrieți grafice în limbajul DOT, puteți utiliza atribute care determină culoarea, forma și stilul vârfurilor și marginilor. Atributele sunt descrise în perechi cheie=valoare cuprinse între paranteze drepte ([cheie=valoare]). Pentru fiecare element al graficului pot fi definite mai multe atribute, separate printr-un spațiu
graph graphname { // label - numele vizibil al vârfului a [ label = „Foo” ]; // formă - definirea formei vârfului b [ forma = cutie ]; // culoare - definirea culorii marginii a -- b -- c [ culoare = albastru ]; // stil - definirea stilului marginii b -- d [ stil = punctat ]; }Deoarece limbajul DOT auto-aranjează elementele într-un mod optim, nu prevede specificarea pozițiilor acestora. Prin urmare, uneori elementele nu sunt aranjate așa cum era de așteptat.
Pentru corectarea prezentării vizuale se folosesc editori grafici.
De exemplu:
digraf g { nod [ forma = text simplu ] A1 -> B1 A2 -> B2 A3 -> B3 A1 -> A2 [ eticheta = f ] A2 -> A3 [ etichetă = g ] B2 -> B3 [ label = "g'" ] B1 -> B3 [ label = "(gof)'" tailport = s headport = s ] { rang = acelasi ; A1 A2 A3 _ { rang = acelasi ; B1 B2 B3 } }Pentru a reprezenta grafice descrise în limbajul DOT, sunt utilizate multe programe, widget-uri și biblioteci, inclusiv: