TigerGraph Graph Data Science Library
TigerGraph In-Database Graph Data Science (GDS) Library is a collection of more than 50 expertly written, ready-to-use GSQL queries, each of which implements a standard graph or machine learning algorithm.
GSQL running on the TigerGraph platform is particularly well-suited for graph algorithms for several reasons:
-
Turing-complete with full support for imperative and procedural programming, ideal for algorithmic computation.
-
Parallel and Distributed Processing, enabling computations on larger graphs.
-
User-Extensible. Because the algorithms are written in standard GSQL and compiled by the user, they are easy to modify and customize.
-
Open-Source. Users can study the GSQL implementations to learn by example, and they can develop and submit additions to the library.
Quick Links
CentralityCentrality algorithms find the important vertices in a graph based on their connections with other vertices. |
ClassificationClassification algorithms label vertices to sort them into various defined classes. |
CommunityCommunity algorithms group together vertices or edges that satisfy some rule for being connected to one another. |
Link PredictionTopological link prediction algorithms determine the closeness of a pair of vertices to make predictions about their relationships. |
Node EmbeddingNode embeddings are vector representations of vertex properties in a graph. |
PathfindingPathfinding algorithms find the best path(s) among a set of vertices according to length or cost. |
Similarity and DistanceSimilarity algorithms assign a score to a pair of vertices based on how similar they are, usually by referring to their neighborhoods.
|
Library Structure
You can download the library from GitHub:
https://github.com/tigergraph/gsql-graph-algorithm
The library contains two folders: algorithms
and graphs
.
algorithms
The algorithms
folder contains the GSQL implementation of all the graph algorithms offered by the library.
Within the algorithms
folder are six sub-folders that group the algorithms into six classes:
-
Centrality
-
Classification
-
Community
-
Node Embeddings
-
Path
-
Similarity
Each algorithm has its own subfolder under the category folder. Inside the algorithm folder, there might be further subfolders depending on whether the GDS Library provides different versions of the algorithm.
graphs
The graphs
folder contains small sample graphs that you can use to experiment with the algorithms.In this document, we use the test graphs to show you the expected result for each algorithm.The graphs are small enough that you can manually calculate and sometimes intuitively see what the answers should be.
Release Branches
Starting with TigerGraph product version 2.6, the GSQL Graph Algorithm Library has release branches:
-
Product version branches (2.6, 3.0, etc.) are snapshots created shortly after a product version is released.They contain the best version of the graph algorithm library at the time of that product version’s initial release.They will not be updated, except to fix bugs.
-
Master branch: the newest released version.This should be at least as new as the newest.It may contain new or improved algorithms.
-
Other branches are development branches.
It is possible to run newer algorithms on an older product version, as long as the algorithm does not rely on features available only in newer product versions.