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.

Centrality

Centrality algorithms find the important vertices in a graph based on their connections with other vertices.

Classification

Classification algorithms label vertices to sort them into various defined classes.

Community

Community algorithms group together vertices or edges that satisfy some rule for being connected to one another.

Topological link prediction algorithms determine the closeness of a pair of vertices to make predictions about their relationships.

Node Embedding

Node embeddings are vector representations of vertex properties in a graph.

Pathfinding

Pathfinding algorithms find the best path(s) among a set of vertices according to length or cost.

Similarity and Distance

Similarity algorithms assign a score to a pair of vertices based on how similar they are, usually by referring to their neighborhoods.

Library Structure

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.