Run Graph Algorithms

The Algorithm panel provides a library of algorithms widely used to analyze patterns of graph connection.

07 00 01 AlgorithmPanel

For a graph visible on the canvas the options are:

  • Path Finding traces the path between a set of selected start and end nodes, optionally weighted based on a relationship property. Once traced, you can spotlight the path to tag or save it.

  • Centrality, Community, and SNA (Social Network Analysis) algorithms calculate a property and value for each node that measure various aspects of its connectedness or grouping within the graph.

  • In addition to property values an algorithm adds to each node, rapid summaries of results are displayed for the graph as a whole.

For an e-book introduction to graph algorithms, how they are calculated, and their uses, see Graph Algorithms: Practical Examples in Apache Spark and Neo4j.

Path Finding

Path Finding traces the shortest path between selected start and end nodes. Once a path is traced, you can click Spotlight Path to display only its nodes and edges.

To find a path between connected nodes:

  1. Open the Algorithm panel and Path Finding tab.

  2. Select one or more starting nodes in the graph, and click Add to Start.

  3. Now select ending nodes in the graph, and click Add to End.

    The selected nodes are listed in Start Nodes and End Nodes, respectively.

    With more than ten pairs of nodes selected, an error message advises you to choose fewer nodes. You can click Remove Start Node or Remove End Node to delete your current selection and choose other nodes.
  4. Optionally, in the Weight Property menu, choose a property of one of the relationships as a path weighting value. The default is Ignore Weight Property. Often, the relationships have no properties, so that Ignore Weight Property is the only choice.

  5. Click Trace Path to display and select the nodes and edges for the shortest path(s) between the start and end nodes.

    07 01 01 AlgorithmPath
  6. Click Spotlight Path to display only the nodes and edges in the path. The button changes to Un-spotlight Path.

    07 01 02 AlgorithmPathSpotlight
  7. Click Un-spotlight Path to deselect the path and return the all the data to the graph. The start and end nodes persist in the Path Finding tab until you remove them, so you can click Trace Path again.

You can use the canvas right-click menu to find a path with a single start and end node. Select the two nodes, then right-click and select Find Path. To isolate (i.e. spotlight) the resulting path, you must select Inverse, then Hide Selection, after which you can tag the nodes in the path and/or save the view.

Centrality, Community Detection, and SNA Algorithms

Kineviz includes a library of commonly used algorithms which calculate measures of connectedness or clustering (both with respect to distance and strength of connection) in multi-dimensional data. There are many such algorithms, and each has its own characteristic behavior and uses.

07 01 03 AlgorithmsCommunity

When you run an algorithm:

  • The result for each node in the graph is added as a property and its value. The property values can be used to arrange nodes on the canvas (for example, in a scatter plot or geometric layout), accessed for other processes within Kineviz, or exported to other graph analytics or statistics applications.

  • For Centrality and Community algorithms, you can click Color nodes by result or Color by community, respectively, to apply a color scale to nodes according to the algorithm property value.

  • A summary of results for the visible graph is displayed in the algorithm panel.

To run an algorithm:

  1. In the Algorithm panel, click to open the Centrality, Community Detection, or SNA tab.

  2. Click the button for the algorithm you want to run, e.g. Louvain.

    07 01 04 Louvain

    A message and summary displays when the calculation is finished. The property and calculated value is added to each node in the graph.

  3. Optionally, click to add a color scale to the node property values.

    You can also review the property values in a table or information window.

Algorithms and the Properties Added to Nodes

The following table lists the available algorithms in Centrality, Community and SNA tabs, their use, and the property names Kineviz adds to each nodes.

Algorithm Properties
Type Algorithm Use Property Name

Centrality

Degree

Number of connections for each node

degree

Centrality

PageRank

Number of connections of each node to "influential" nodes

pageRank

Centrality

Betweenness

Cumulative shortest paths through each node

betweenness

Centrality

Closeness

Shortest distance from the node to all other nodes.

closeness

Community

Connected Component

Groups where every node can reach every other through any edges.

componentId

Community

Strong Connected Component

Groups where every node can reach every other through directed edges.

strongComponentId

Community

Louvain

Densely-connected clusters by modularity (aka communities)

louvainComponentId

Community

Label Propagation

Fast, rough clusters by grouping nodes based on their direct neighbors.

labelPropagationId

SNA

Fragmentation Effects

Calculates the drop in overall network connectedness (increase in fragmentation) when a specific node is deleted.

fragmentationEffects

SNA

Frequency

Measures how often interaction occurs between two specific nodes over a given period.

frequency

SNA

Frequency Normalized

Computes a relative ratio of interaction frequency, to compare of networks of different sizes.

frequencyNormalized

SNA

Local Density

Measures interconnection of a node immediate neighbors, to help identify tight-knit communities.

localDensity

SNA

Closure

Percentage of all open triplets (paths of length two) that are closed (triangles) vs. open (V-shaped).

closure

SNA

Node Degrees

Number of connected edges for each node

nodeDegrees (same values as degree)

Whole-Graph Summaries

Summaries for the visible graph as a whole are displayed at the bottom of the algorithm panel.

  • Centrality summaries list the top property values for that algorithm.

    07 01 05 CentralitySummary
  • Community summaries list of the number of communities found, and the number of nodes in each.

    07 01 06 CommunitySummary
  • SNA summaries vary for the different available algorithms. Most also add or update one or more properties on individual nodes.

    07 01 07 SNASummaryAnalyzeNetwork

The following table lists the available SNA summaries and the properties used.

SNA (Social Network Analysis) Summaries
SNA Button Graph Summaries

Analyze Network

  • Total Nodes - Total number of nodes.

  • Total Edges - Total number of edges.

  • Fragmentation - proportion of pairs of nodes that cannot reach each other via any path.

  • Density - Average node localDensity.

  • Closure - Average node closure.

Fragmentation

  • Fragmentation - proportion of pairs of nodes that cannot reach each other via any path

  • Components - number of isolated subgraphs, using fragmentationEffects

  • Connected Pairs - total number

Fragmentation Effects

  • Fragmentation - proportion of pairs of nodes that cannot reach each other via any path, using fragmentationEffects

Frequency

  • Average Frequency - Average node frequency.

  • Max Frequency - Maximum connection between nodes.

Frequency Normalized

  • Average Frequency - Average node frequencyNormalized.

Density

  • Density - the ratio of actual connections to the total possible connections.

  • Actual edges - Total number of edges

  • Total possible edges - number of node pairs which could be linked.

Local Density

  • Local Density - Average node localDensity.

Closure

  • Closure - average closure

  • Average Local Closure - ?

Triadic Closure

  • Triadic Closure - Percentage of all open triplets (paths of length two) that are closed (triangles) vs. open (V-shaped), using closure

  • Closed Triads - Number of closed triads (triangles)

  • Open Triads - Number of open triads (V-shapes).