The graphviz.notation vocabulary provides words for building graph s in a way that looks similar to the DOT language (see http://graphviz.org/content/dot-language ).

The graphviz vocabulary alone already follows the general structure of the DOT language: graph s and subgraph s consist of an ordered sequence of statements; each statement will add either a node, an edge, or some attribute declaration ( graph-attributes, node-attributes, edge-attributes ); and attributes may be set on individual node s and edge s. Even some DOT niceties are already supported, like being able to have an edge between anonymous subgraph s. For instance, compare
<digraph> { 1 2 3 } { 4 5 6 } add-edge

with the DOT code
digraph { { 1 2 3 } -> { 4 5 6 } }


However, there are some rough points that this vocabulary addresses:
Notation for setting Graphviz attributes
Aliases that resemble DOT code