Supported Network Types
This page describes the supported graph structures and their internal representation.
The network plug-in supports the following network types:
Name | Example | Internal Representation | Notes |
---|---|---|---|
Undirected graph | An undirected graph is converted in a two-partite graph with the first partition representing the nodes and the second partition representing the edges. | ||
Multi graph | The plug-in supports any number of edges between nodes. However each edge has to have a different id. | ||
Loops | Loops are represented by edges that connect only one node (e.g. with an edge degree of 1). | ||
Weighted graph | The weight can be also attached to an end object in order to assign a different weight to each node of an edge. The default weight of an edge is 1. The supported features are described here. | ||
Directed graph | For a description of an end object click here. | ||
Hypergraph | A hypergraph contains hyperedges that connect more than two nodes, such as the hyperedge in the example, which connects four nodes. | ||
Mixed graph | All the above types can also be mixed in one graph, as is demonstrated in the example with a hyperedge (blue) and a directed and weighted edge (green). |
The internal representation shows how the different network types are mapped to the internally used k-partite graph sturcture.
Internal Representation
In order to support all the different network types we have chosen a k-partite graph representation. Nodes and edges are represented as vertices, which are connected with a single link and the vertices are asigned to partitions. The type of partition defines the interpretation of the vertex (e.g. node or edge). By default, a nework with nodes and edges is represented in KNIME as a two-partite graph with one partition containing the node vertices (nodes) and the other containing the edge vertices (edges).
The partitions can be also used to group objects of the same type such as terms and documents or genes and proteins. KNIME provides nodes to work with these partitions e.g. filtering or analysis of the relations between partitions.
End Object
An end object represents the endpoint of an edge that groups the edge and a node. It is defined by the ID of the corresponding edge and node. End objects are used to attach features to nodes that are valid in the context of a given edge, such as the is_target or the weight feature.