DOT je jazyk pro popis grafů .
Graf popsaný v jazyce DOT je obvykle textový soubor s příponou .gv nebo .dot ve formátu , který je srozumitelný člověku i programu pro zpracování .
V grafické podobě jsou grafy popsané v jazyce DOT znázorněny pomocí speciálních programů, jako je Graphviz .
Ačkoli jazyk přijímá standardní přípony .gv a .dot , měla by být upřednostněna první volba, .gv , protože přípona .dot se používá v Microsoft Office 2003 [1] .
Struktura grafu v jazyce DOT je popsána jako seznam podgrafů, z nichž každý prvek je konstrukcí:
graf % název grafu % { }uvnitř kterého (ve složených závorkách - { }) jsou komentáře a pokyny popisující podgraf. Pokyny popisují vrcholy a hrany cílového grafu a jsou odděleny středníkem — ; .
Jazyk DOT podporuje komentáře ve stylu C a C++, // a /**/, stejně jako symbol # používaný pro tyto účely v některých programovacích jazycích jako první znak jednořádkového komentáře.
// Jednořádkový komentář. # Jednořádkový komentář. /* Víceřádkový komentář. */Neorientovaný graf v jazyce DOT je popsán seznamem vrcholů a hran, reprezentovaných názvem vrcholů a dvojitou pomlčkou (--) mezi přidruženými vrcholy.
graf název grafu { a ; b ; c ; d ; a - b ; b -- c ; b - d ; }Nebo ekvivalentně vynechání nadbytečných popisů:
graf název grafu { a - b - c ; b - d ; } Orientovaný grafOrientovaný graf v jazyce DOT je popsán seznamem vrcholů a hran, reprezentovaných názvem vrcholů a stylizovanou pomlčkou a šipkou trojúhelníkových závorek (->) mezi přidruženými vrcholy:
název grafu digraph { a -> b -> c ; b - > d }Nebo s nadbytečným popisem:
název grafu digraph { a ; b ; c ; d ; a -> b ; b -> c ; b - > d }Při popisu grafů v jazyce DOT můžete použít atributy, které určují barvu, tvar a styl vrcholů a hran. Atributy jsou popsány v párech klíč=hodnota uzavřených v hranatých závorkách ([klíč=hodnota]). Pro každý prvek grafu lze definovat několik atributů oddělených mezerou
graf název grafu { // label - viditelné jméno vrcholu a [ label = "Foo" ]; // tvar - definování tvaru vrcholu b [ tvar = krabice ]; // barva - definice barvy okraje a -- b -- c [ barva = modrá ]; // styl - definice stylu okraje b -- d [ styl = tečkovaný ]; }Protože jazyk DOT automaticky uspořádává prvky optimálním způsobem, neumožňuje specifikovat jejich pozice. Proto někdy nejsou prvky uspořádány podle očekávání.
Pro korekci vizuální prezentace se používají grafické editory.
Například:
digraf g { uzel [ tvar = prostý text ] A1 -> B1 A2 -> B2 A3 -> B3 A1 -> A2 [ štítek = f ] A2 -> A3 [ štítek = g ] B2 -> B3 [ štítek = "g'" ] B1 -> B3 [ label = "(gof)'" tailport = s headport = s ] { hodnost = stejný ; A1 A2 A3 _ { hodnost = stejný ; B1 B2 B3 } }Pro znázornění grafů popsaných v jazyce DOT se používá mnoho programů, widgetů a knihoven, včetně: