Extract a bipartite network from tabular data.

Pick two columns (or attributes) from the table. If the values of these attributes may be multi-valued (like "Alice, Bob, Carroll"), specify the special text that separates the entities therein (in this case, ",").

Every entity occurring in either column becomes a node in the extracted network. Each node has an attribute "bipartitetype" whose value is the name of the column that that entity was extracted from. This binary attribute is the coloring that makes the resulting network bipartite. And as a consequence of this, entities occurring in distinct columns always become distinct nodes, even when their names are identical. If your intent is to instead treat entities as equal whenever they share a name, with no attention to the column, consider the Extract Directed Network algorithm.

An edge between nodes exists in the resulting network precisely when, for some row in the table, one of those nodes was an entity in the source column and the other an entity in the target column.

You may choose to perform aggregation during the extraction by specifying an aggregation function file. For details on the creation and use of such files, see Extract Co-Occurrence Network.

Usage Hints

This algorithm generates networks with directed edges. The direction is always from the entity in the source column to the entity in the target column. If you prefer an undirected extraction, run the output of this algorithm through the Symmetrize algorithm.

Implementation Details

This algorithm shares code with Extract Directed Network.


Extension of an algorithm by Timothy Kelley.


See Also