A DOT 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 a Microsoft Office is használja, szerencsésebb a .gv kiterjesztés választása.

A DOT fájlokat számos programmal feldolgozhatjuk. Egy részük - például dot, neato, twopi, circo, fdp és sfdp - a beolvasott DOT fájlt grafikus formában jeleníti meg. Mások - például gvpr, gc, accyclic, ccomps, sccmap és tred - a beolvasott DOT fájlon számításokat végeznek. Megint mások - például GVedit, KGraphEditor, lefty, dotty és grappa - interaktív felhasználói felületet biztosítanak. A felsorolt programok legtöbbje a Graphviz szoftvercsomag része, vagy azt használja a háttérben.

Szintaxis Gráftípusok Irányítatlan gráfok jobbra|bélyegkép|Irányítatlan gráf A DOT nyelv legegyszerűbb felhasználása irá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 a graph 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.

graph graf_neve { a -- b -- c; b -- d;

Irányított gráfok jobbra|bélyegkép|Irányított gráf Az irányítatlan gráfokhoz hasonlóan DOT nyelven irányított gráfokat, például folyamatábrákat, függőségi fákat is felírhatunk. Az irányított gráfokat a digraph kulcsszó, csúcsai közötti éleket nyíl (->) jelöli. digraph graf_neve { a -> b -> c; b -> d;

Tulajdonságok jobbra|bélyegkép|Gráfábrázolás tulajdonságok megadásával A DOT fájlok a gráfokra, csúcsokra és az élekre vonatkozó tulajdonságok előírását is tartalmazhatják. <br/ > 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.

graph graf_neve { // Ez az egész gráfra vonatkozó tulajdonság: minden rajta lévő objektum méretét állítja size="1,1"; // A label tulajdonság itt egy csúcs címkéjét adja meg a [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ág a -- b -- c [color=blue]; b -- d [style=dotted];

Megjegyzések 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.

Példa jobbra|bélyegkép|225px|Egy irányított fagráf Az alábbi példában előfordul teljes gráfra és egy vagy néhány csúcsra vonatkozó tulajdonságmegadás is. digraph fa_graf { node [shape=circle label=""] { node [style=filled color=black] b c f } { node [shape=doublecircle style=filled color=black] a } a -> b -> c -> d a -> f -> g c -> e f -> h f -> i }

Megjelenítő programok 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: Graphviz - Gráfok manipulálásira és képi előállítására szolgáló könyvtárak és segédprogramok gyűjteménye Canviz - dot fájlokat renderelő JavaScript könyvtár Viz.js - dot fájlokat renderelő JavaScript könyvtár Grappa - Java csomagolókönyvtár a Graphviz könyvtárakhoz. INFormation CHanGe - Python és Google Cloud párosításon alapuló nézegető, amely DOT és Beluga nyelvű bemenetet fogad. Tulip - DOT fájlokat is tud importálni és analizálni. OmniGraffle - képes bizonyos DOT leírások importálására, amelyek a programban tovább szerkeszthetők. (Az eredményt viszont nem lehet DOT-ként elmenteni.) ZGRViewer - GraphViz/DOT megjelenítő. VizierFX - Flex gráfmegjelenítő könyvtár. Gephi - hálózatokat, komplex rendszereket, dinamikus és hierarchikus gráfokat interaktív módon megjelenítő és feltérképező platform.

Lásd még Graphviz Gráf lisp2dot átalakító eszköz: Lisp (programozási nyelv)-szerű programfákat alakít DOT nyelvre. A mesterséges intelligencia területén a genetikus programozás módszeréhez használható.

Források

Fordítás

További információk DOT bevezetés and specifikáció (angol nyelven) Példagyűjtemény (angol nyelven) Huffman-fák DOT leírását generáló webalkalmazás (angol nyelven) Online gráfmegjelenítés SVG formátumban (angol nyelven) Boost Graph Library (angol nyelven) Grappa Drawing Package (angol nyelven)

Kategória:Matematikai szoftverek Kategória:Programozási nyelvek