TigerGraph Graph Data Science Library

TigerGraph In-Database Graph Data Science (GDS) Library is a collection of expertly written GSQL queries, each of which implements a standard graph or machine learning algorithm. Each algorithm is ready to be installed and used, either as a stand-alone query or as a building block of a larger analytics application.

We renamed our library (formerly known as GSQL Graph Algorithm Library) to emphasize our focus on machine learning and AI. As the world’s only scalable graph analytics platform, TigerGraph is committed to providing the best graph analytics framework for data scientists.

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.

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.