# Graph Algorithms

AnzoGraph includes built-in graph algorithms for exploring and computing metrics for graphs, nodes, and relationships. This topic describes the graph algorithms that AnzoGraph supports. Click an algorithm name to view details about the syntax to use in queries and usage examples.

## Centrality Algorithms

Centrality algorithms identify important nodes in a graph:

• PageRank: Ranks the nodes in a graph by their relative importance or influence. PageRank determines each node's ranking by identifying the number of links to the node and the quality of the links. The quality of a link is determined by the importance (PageRank) of the node that presents the outbound link. Google uses PageRank to rank websites in their search engine results.

## Community Detection Algorithms

Community detection algorithms evaluate clusters of nodes and determine whether they have a tendency to strengthen or break apart:

• Connected Components: Identifies the connected nodes in an undirected graph. The algorithm returns a unique connected component ID for each node in the graph.
• Label Propagation: Detects structures in a graph by propagating labels throughout the graph and forming groups based on the label propagation.
• Triangle Enumeration: Identifies each triangle in a graph.
• Triangle Count: Determines the number of triangles that a graph includes and calculates the average clustering coefficient for the resulting network of nodes.
• Vertex Triangle Count: Determines the number of triangles that a vertex is a member of and computes the clustering coefficient for the vertex.

## Path Finding Algorithms

Path finding algorithms identify the shortest path or evaluate the availability and quality of paths:

• All Paths: Lists all of the paths that exist between two nodes in a graph.
• Shortest Path: Finds the shortest path (the path with the least cost) from a source node to the other nodes in a graph.