Chapter 3. Tulip Library

Table of Contents

1. Introduction
2. Graphs
3. Hierarchy of graphs
4. Attributes
5. Properties
6. TUTORIAL Intro.
7. TUTORIAL 001 : Graphs creation, adding and deleting nodes or edges.
1. Header files
2. Creation of a Graph
3. Add nodes
4. Add edges
5. Delete an edge and a node
6. Printing the graph
7. Saving a graph
8. Graph deletion
9. Compiling and running the program.
10. Source Code
8. TUTORIAL 002 : Iterating over a graph (class Iterator and the macro forEach)
1. Header files (Same as Tutorial 1)
2. Iterating over all nodes
3. Iterating through a node predecessors
4. Iterating through a node successors
5. Iterating through a node neighbors (predecessors and successors)
6. Iterating through a node incoming edges
7. Iterating through a node outgoing edges
8. Iterating through a node adjacent edges
Don't forget memory leaks
9. Iterating on edges (all edges).
10. The forEach Macro
Source Code
9. TUTORIAL 003 : Properties
1. Header files and predefined properties
2. Creation of a property.
3. Initialize all properties.
4. Iterating over properties.
Source Code
10. TUTORIAL 004 : Create your first subgraph.
Source Code
11. TUTORIAL 005 : Properties and subgraphs
1. Introduction
2. Properties of subgraph1
3. Properties of subgraph2
Source Code
12. TUTORIAL 006 : Edges order.
1. Creation of the graph and its edges
2. Swap edges
3. Setting an order
Source Code
13. TUTORIAL 007 : Mutable Collection
14. TUTORIAL 008 : Graph Tests
15. TUTORIAL 009 : ObservableGraph
1. Our new class, GraphObserverTest :
2. The Main function

1. Introduction

Efficient visualization of graphs and their usage for data analysis implies

  • the manipulation of the structure of the graph

  • the extraction of parts of it

  • association of values to a graph's elements (nodes and edges)

  • the computation of intrinsic parameters (parameters derived from a graph's structure, e.g. in a filesystem graph (directory tree): number of files in a directory, can be computed by counting outgoing edges)

  • the computation of extrinsic parameters (parameters derived from external information, e.g. in a filesystem graph: file size)

This chapter describes the Tulip data structure that takes into account all the requirement of a graph visualization system. For each part we describe the general principle and then we give examples explaining how to do it with the Tulip library.