DOT nyelv

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,[1] 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

szerkesztés

Gráftípusok

szerkesztés

Irányítatlan gráfok

szerkesztés
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

szerkesztés
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

szerkesztés
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.[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.

 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

szerkesztés

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.


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

szerkesztés

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

szerkesztés

Források

szerkesztés

Fordítás

szerkesztés
  • Ez a szócikk részben vagy egészben a DOT_language című angol Wikipédia-szócikk ezen változatának fordításán alapul. Az eredeti cikk szerkesztőit annak laptörténete sorolja fel. Ez a jelzés csupán a megfogalmazás eredetét és a szerzői jogokat jelzi, nem szolgál a cikkben szereplő információk forrásmegjelöléseként.

További információk

szerkesztés