Graph algorithms

Neo4j Graph Analytics for Snowflake comes with a set of algorithms that are each described on their own page as listed below.

Please note that in the examples on each algorithm page we assume that the application name is the default Neo4j_Graph_Analytics, and that the required setup of grants for the application, your consumer role and your environment has been completed.

The algorithms conceptually work on graphs, so this documentation speaks of graphs, nodes, relationships and properties. The graphs are heterogeneous, so nodes are tagged with node labels and relationships have types. The correspondence between graphs and actual Snowflake tables is described in the sections jobs/index.adoc#jobs-node-tables and jobs/index.adoc#jobs-relationship-tables.

Each algorithm’s page shows labels ("pills") that summarize its capabilities. The possible labels are:

  • Directed — the algorithm is well-defined on a directed graph.

  • Undirected — the algorithm is well-defined on an undirected graph.

  • Weighted — the algorithm can use a relationship property as a weight; without one, every relationship is treated equally.

  • Heterogeneous nodes — the algorithm distinguishes between nodes of different labels.

  • Heterogeneous relationships — the algorithm distinguishes between relationships of different types.

  • Node properties — the algorithm makes use of node properties.

A label is shown only when the algorithm supports that capability. All algorithms run on CPU compute pools; those that can additionally run on GPU compute pools are marked with a GPU label — currently GraphSAGE (CPU or GPU) and FastPath (GPU only).

The supported algorithms are grouped into the following categories:

Node embeddings