Ez a lap egy ellenőrzött változata
ADOT egy szöveges gráfleíró nyelv. Gráfoknak olyan egyszerű leírását adja, amely emberek és számítógépek által egyaránt olvasható. A DOT nyelvű fájlok általában.gv (vagy.dot)kiterjesztésűek. Mivel a.dot kiterjesztést aMicrosoft Office is használja,[1] szerencsésebb a.gv kiterjesztés választása.
A DOT fájlokat számos programmal feldolgozhatjuk. Egy részük - példáuldot,neato,twopi,circo,fdp éssfdp - a beolvasott DOT fájlt grafikus formában jeleníti meg. Mások - példáulgvpr,gc,accyclic,ccomps,sccmap éstred - a beolvasott DOT fájlon számításokat végeznek. Megint mások - példáulGVedit,KGraphEditor,lefty,dotty ésgrappa - interaktív felhasználói felületet biztosítanak. A felsorolt programok legtöbbje aGraphviz szoftvercsomag része, vagy azt használja a háttérben.
A DOT nyelv legegyszerűbb felhasználásairányítatlan gráfok leírása. Irányítatlan gráffal objektumok közötti egyszerű relációkat fejezhetünk ki, például emberek közötti barátsági kapcsolatokat. Új gráf kezdetének jelölésére agraph kulcsszót használjuk. Ezt követik a gráf csúcsai kapcsos zárójelek között. A csúcsok közötti kettős kötőjel (‑‑) jelöli az éleket.
graphgraf_neve{a--b--c;b--d;}
Az irányítatlan gráfokhoz hasonlóan DOT nyelvenirányított gráfokat, példáulfolyamatábrákat, függőségi fákat is felírhatunk. Az irányított gráfokat adigraph kulcsszó, csúcsai közötti éleket nyíl (->) jelöli.
digraphgraf_neve{a->b->c;b->d;}
A DOT fájlok a gráfokra, csúcsokra és az élekre vonatkozó tulajdonságok előírását is tartalmazhatják.[2]
A tulajdonságok megadásával állíthatjuk be az objektumok színét, alakját, vonalstílusát. A csúcsok és élek esetében szögletes zárójelben ([]) kulcs-érték párokat írhatunk a kifejezések után, a pontosvessző elé. A teljes gráfra vonatkozó tulajdonságok a gráf nyitójele után sima kulcs-érték párokként szerepelnek. Több egymást követő tulajdonságot vesszővel és szóközzel választunk el egymástól. A csúcsok tulajdonságait olyan kifejezéssel adhatjuk meg, amelyek csak a csúcs nevét tartalmazzák, élkapcsolatokat nem.
graphgraf_neve{// Ez az egész gráfra vonatkozó tulajdonság: minden rajta lévő objektum méretét állítjasize="1,1";// A label tulajdonság itt egy csúcs címkéjét adja mega[label="Foo"];// A shape tulajdonsággal itt a csúcs alakját határozzuk meg (itt: box, téglalap)b[shape=box];// Itt az élek vonalstílusát befolyásolja a color és a style tulajdonsága--b--c[color=blue];b--d[style=dotted];}
A DOT támogatja a C és C++ stílusúmegjegyzéseket. Ezek mellett figyelmen kívül hagyja még a kettőskereszt (#) jellel kezdődő sorokat is.
// Ez egy egysoros megjegyzés./* Ez meg többsoros megjegyzés. */# Az ilyen sorokat sem veszi figyelembe.
Az alábbi példában előfordul teljes gráfra és egy vagy néhány csúcsra vonatkozó tulajdonságmegadás is.
digraphfa_graf{node[shape=circlelabel=""]{node[style=filledcolor=black]bcf}{node[shape=doublecirclestyle=filledcolor=black]a}a->b->c->da->f->gc->ef->hf->i}
DOT nyelven gráfokat definiálni lehet ugyan, de a megjelenítéshez nem nyújt segítséget. Erre több programot használhatunk: