BINARY FORMAT

Tulip Binary

Tulip Binary Graph Format

Tulip Binary (TLPB, .tlpb) is the native binary serialization format of Tulip, the open-source graph analysis and visualization framework created by David Auber at LaBRI (Laboratoire Bordelais de Recherche en Informatique) and the University of Bordeaux. Written in C++ with a Qt-based GUI, Tulip (see Tulip) targets the interactive drawing and exploration of very large relational datasets, and TLPB exists as a compact, fast-loading counterpart to the human-readable text format Tulip TLP and the web-friendly Tulip JSON.

TLPB stores the same data model as the other Tulip serializations. A graph consists of nodes identified by consecutive integer indices starting at 0, directed edges given as (id, source, target) triples, an optional hierarchy of subgraphs (clusters), where cluster 0 is the root graph and child clusters reference elements already defined in the root, and typed properties attached to nodes and edges. Property types include bool, int, double, string, color, and the rendering-oriented layout (3D coordinates and edge bend points) and size, together with vector variants of most of these. Because the format is a direct binary dump of Tulip's in-memory structures rather than a documented interchange schema, it is essentially version-coupled to the producing Tulip release and is not intended to be parsed by third-party tools.

The format is handled by a Tulip import/export plugin that exposes no configurable parameters. It recognizes three extensions: plain .tlpb, and the gzip-compressed .tlpb.gz and .tlpbz. Tulip chooses compressed output automatically when the file name carries a .gz extension, the same convention it applies to compressed TLP.

The chief strength of TLPB is efficiency: on graphs with millions of nodes and edges it loads and saves substantially faster and smaller than parsing the S-expression text of TLP, making it the practical choice for Tulip's own save/restore of large sessions. The trade-offs are the flip side of that design. It is opaque (not human-readable or diffable), effectively Tulip-specific with no independent specification, and sensitive to format-version and endianness assumptions, so it is a poor vehicle for long-term archival or cross-application exchange. For those purposes Tulip's TLP or TLP JSON output, or neutral formats such as GraphML and GML, are more appropriate; general-purpose converters like NetworkX do not read TLPB directly.

Alternative Names: TLPB, .tlpb

Frequently Asked Questions

What is a Tulip Binary Graph Format file?

A Tulip Binary Graph Format file stores a graph — its nodes, edges and attributes — in the Tulip Binary Graph Format format (also: TLPB, .tlpb). See the feature table above for what it supports.

How do I open a Tulip Binary Graph Format file?

Open it in a graph tool that supports Tulip Binary Graph Format, or convert it to a format your tool reads. With GraphInOut you can convert Tulip Binary Graph Format to GraphML, DOT, Connected JSON and more, right in your browser.

How do I convert a Tulip Binary Graph Format file to another format?

Use the Convert from Tulip Binary Graph Format link above: upload or paste your Tulip Binary Graph Format file (input preset to Tulip Binary Graph Format), choose a target format and download the result — free, no install.