Help Center> Graph Engine Service> FAQs> Customer Consultation> What Algorithms Can Be Used on GES?
Updated on 2022-12-08 GMT+08:00

What Algorithms Can Be Used on GES?

To meet application requirements of various scenarios, GES provides extensive basic graph algorithms, graph mining algorithms, and graph metrics algorithms.

You can use algorithms to analyze graphs on the query editor page. The following table lists the supported algorithms.

Table 1 Algorithm list

Algorithm

Description

PageRank

PageRank, also called web page rank, is a hyperlink analysis algorithm used to rank websites in their search engine results and display the relevance and importance of web pages (nodes).

PersonalRank

PersonalRank is also called Personalized PageRank. It inherits the idea of the classic PageRank algorithm and uses the graph link structure to recursively calculate the importance of each node. Unlike the PageRank algorithm, to ensure that the access probability of each node in the random walk can reflect user preferences, the PersonalRank algorithm returns each hop to the source node at a (1-alpha) probability during random walk. Therefore, the relevance and importance of network nodes can be calculated based on the source node (the higher the PersonalRank value, the higher the correlation/importance of the source node).

K-core

K-core is a classic graph algorithm used to calculate the number of cores of each node. The calculation result is one of the most commonly used reference values for determining the importance of a node so that the propagation capability of the node can be better understood.

K-hop

This algorithm is used to search all nodes in the k layer that are associated with the start node through Breadth-First Search (BFS). The found sub-graphs are the start node's ego-net. The K-hop algorithm will return the number of nodes in the ego-net.

Shortest Paths

This algorithm is used to find the shortest path between two vertices in a graph.

All Shortest Paths

This algorithm is used to find all shortest paths between two vertices in a graph.

Filtered Shortest Path

This algorithm searches for the shortest path that meets the filter criteria between vertices. If there are multiple shortest paths, any one of them is returned.

SSSP

This algorithm finds the shortest paths from a specified node (source) to other nodes.

Shortest Path of Vertex Sets

This algorithm discovers the shortest path between two vertex sets. It can be used to analyze the relationships between blocks in scenarios such as Internet social networking, financial risk control, road network transportation, and logistics delivery.

n-Paths

This algorithm is used to find the n paths between two vertices on the k layer of a graph. It applies to scenarios such as relationship analysis, path design, and network planning.

Closeness Centrality

Closeness centrality is the average distance from a node to all other reachable nodes. It can be used to measure the time for transmitting information from this node to other nodes. The smaller the node's closeness centrality is, the more central the node location will be.

Label Propagation

This algorithm is a graph-based semi-supervised learning method. Its basic principle is to predict the label information about unlabeled nodes using that of the labeled nodes. This algorithm can create graphs based on the relationships between samples. Nodes include labeled data and unlabeled data, and the edge indicates the similarity between two nodes. Node labels are transferred to other nodes based on the similarity. Labeled data is like a source used to label unlabeled data. The greater the node similarity is, the easier the label propagation will be.

Louvain

This algorithm is a modularity-based community discovery algorithm with high efficiency and effect. It can discover hierarchical community structures and aims to maximize the modularity of the entire community network.

Link Prediction

This algorithm is used to calculate the similarity between two nodes and predict their relationship based on the Jaccard measurement method.

Node2vec

By invoking the Word2vec algorithm, the Node2vec algorithm maps nodes in the network to the Euclidean space, and uses vectors to represent the node characteristics. The Node2vec algorithm generates random steps from each node using the rollback parameter P and forward parameter Q. It combines BFS and DFS. The rollback probability is proportional to 1/P, and the forward probability is proportional to 1/Q. Multiple random steps are generated to reflect the network structures.

Real-time Recommendation

This algorithm is based on the random walk model and is used to recommend nodes that are similar (have similar relationships or preferences) to the input node. This algorithm can be used to recommend similar products based on historical purchasing or browsing data or recommend potential friends with similar preferences.

Common Neighbors

Common Neighbors is a common basic graph analysis algorithm. It can be used to obtain the neighboring nodes shared by two nodes and further speculate the potential relationship and similarity between the two nodes. For example, it can intuitively discover common friends in social occasions, or commodities that interest both nodes in the consumption field.

Connected Component

A connected component stands for a sub-graph, in which all nodes are connected with each other. Path directions are involved in the strongly connected components and are not considered in the weakly connected components.

NOTE:

This algorithm generates weakly connected components.

Degree Correlation

This algorithm calculates the Pearson correlation coefficient between the start vertex degree and the end vertex degree of each edge. It is used to indicate whether the high-degree nodes are connected to other high-degree nodes in a graph.

Triangle Count

This algorithm counts the number of triangles in a graph without considering the edge directions. More triangles mean higher node association degrees and closer organization relationships.

Cluster Coefficient

The cluster coefficient describes the node aggregation degree in a graph. In real or some specific networks, nodes with high cluster coefficient always tend to form close organizational relationships.

Common Neighbors of Vertex Sets

This algorithm obtains vertex set neighbors, that are, the intersection of two vertex sets (groups). They are objects that are associated with both sets, for example, common friends, common products of interest, and persons contacting with both communities. You can use neighbors to further speculate potential relationships and the degree of the connection between two vertices.

All Shortest Paths of Vertex Sets

This algorithm is used to discover all shortest paths between two vertex sets. It can be used to analyze the relationships between blocks in scenarios such as social networking, financial risk control, road networks and transportation, and logistics delivery.

Filtered Circle Detection

This algorithm searches for all circles that meet a specified filter criteria in the graph. It is applicable to scenarios such as detecting round-trip transfers and anti-money laundering for financial risk control, locating abnormal links in network routes, and risk identification in enterprise finance guarantee.

Subgraph Matching

This algorithm is used to find all subgraphs of a given small graph that is isomorphic to a given large graph. This is a basic graph query operation and is intended to explore important substructures of a graph.

Filtered All Pairs Shortest Paths

This algorithm is used to search for the shortest path between any two vertices in the graph that meets the condition. In a specific application scenario, you need to set a start vertex set (sources) and end vertex set (targets) as input for this algorithm. This algorithm returns the required shortest paths between the start and the end vertex sets.

Filtered All Shortest Paths

This algorithm allows you to search query results of the Shortest Path algorithm for the paths that meet the conditions between two vertices in a graph.

TopicRank

The TopicRank algorithm is one of commonly used algorithms for ranking topics by multiple dimensions. For example, this algorithm is applicable to rank complaint topics obtained through a government hotline.

Filtered n-Paths (2.2.22)

The filtered n-Paths algorithm is used to find no more than n k-hop loop-free paths between the source and target vertices. The start vertex (source), end vertex (target), number of hops (k), number of paths (n), and filter criteria (filters) are the parameters for the algorithm.

Customer Consultation FAQs

more