DOT es un lenguaje de descripción de gráficos .
Un gráfico descrito en el lenguaje DOT suele ser un archivo de texto con una extensión .gv o .dot en un formato comprensible para una persona y un programa de procesamiento .
En forma gráfica, los gráficos descritos en el lenguaje DOT se representan utilizando programas especiales, como Graphviz .
Aunque el lenguaje acepta las extensiones estándar .gv y .dot , se debe preferir la primera opción, .gv , porque la extensión .dot se usa en Microsoft Office 2003 [1] .
La estructura del gráfico en el lenguaje DOT se describe como una lista de subgráficos, cada elemento de los cuales es una construcción:
gráfico % nombre del gráfico % { }dentro del cual (entre corchetes - { }) hay comentarios e instrucciones que describen el subgráfico. Las instrucciones describen los vértices y los bordes del gráfico objetivo y están separadas por un punto y coma — ; .
El lenguaje DOT admite comentarios de estilo C y C++, // y /**/, así como el símbolo # utilizado para estos fines en algunos lenguajes de programación como el primer carácter de un comentario de una sola línea.
// Comentario de una línea. # Comentario de una línea. /* Comentario de varias líneas. */Un gráfico no dirigido en el lenguaje DOT se describe mediante una lista de vértices y aristas, representada por el nombre de los vértices y un guión doble (--) entre los vértices asociados.
gráfico nombre gráfico { un ; segundo ; c ; re ; a - b ; b - c ; b - d ; }O de manera equivalente, omitiendo descripciones redundantes:
gráfico nombre gráfico { a - b - c ; b - d ; } Gráfico dirigidoUn gráfico dirigido en el lenguaje DOT se describe mediante una lista de vértices y aristas, representada por el nombre de los vértices y un guión estilizado y una flecha de corchete triangular (->) entre los vértices asociados:
dígrafo nombre gráfico { a -> b -> c ; b - > d }O con descripción redundante:
dígrafo nombre gráfico { un ; segundo ; c ; re ; a -> b ; b- > c ; b - > d }Al describir gráficos en el lenguaje DOT, puede usar atributos que determinan el color, la forma y el estilo de los vértices y los bordes. Los atributos se describen en pares clave=valor entre corchetes ([clave=valor]). Para cada elemento del gráfico se pueden definir varios atributos, separados por un espacio
gráfico nombre gráfico { // etiqueta - nombre visible del vértice a [ etiqueta = "Foo" ]; // forma - definiendo la forma del vértice b [ forma = caja ]; // color - definición del color del borde a -- b -- c [ color = azul ]; // estilo - definición de estilo de borde b -- d [ estilo = punteado ]; }Dado que el lenguaje DOT organiza automáticamente los elementos de manera óptima, no permite especificar sus posiciones. Por lo tanto, a veces los elementos no se organizan como se esperaba.
Los editores gráficos se utilizan para corregir la presentación visual.
Por ejemplo:
dígrafo g { nodo [ forma = texto sin formato ] A1 -> B1 A2 -> B2 A3 -> B3 A1 -> A2 [ etiqueta = f ] A2 -> A3 [ etiqueta = g ] B2 -> B3 [ etiqueta = "g'" ] B1 -> B3 [ etiqueta = "(gof)'" puerto de cola = s puerto de entrada = s ] { rango = igual ; A1 A2 A3 _ { rango = igual ; B1 B2 B3 } }Para representar gráficos descritos en el lenguaje DOT, se utilizan muchos programas, widgets y bibliotecas, que incluyen: