Trivial Graph Format


Trivial Graph Format is a simple text-based adjacency list file format for describing graphs, widely used because of its simplicity.

Format

The format consists of a list of node definitions, which map node IDs to labels, followed by a list of edges, which specify node pairs and an optional edge label. Because of its lack of standardization, the format has many variations. For instance, some implementations of the format require the node IDs to be integers, while others allow more general alphanumeric identifiers.
Each node definition is a single line of text starting with the node ID, separated by a space from its label.
The node definitions are separated from the edge definitions by a line containing the "#" character.
Each edge definition is another line of text, starting with the two IDs for the endpoints of the edge separated by a space. If the edge has a label, it appears on the same line after the endpoint IDs.
The graph may be interpreted as a directed or undirected graph. For directed graphs, to specify the concept of bi-directionality in an edge, one may either specify two edges or differentiate the edge by means of a label.

Example

A simple graph with two nodes and one edge might look like:

1 First node
2 Second node
1 2 Edge between the two