This section explains the projected graph model used by the Neo4j Graph Algorithms library.

Graph algorithms run on an in-memory projected graph model. The projected graph model is separate from Neo4j’s stored graph model, to enable fast caching for the topology of the graph, containing only relevant nodes, relationships and weights. The projected graph model does not support multiple relationships between a single pair of nodes.

The library supports two approaches for loading projected graphs; either Label and relationship-type projection, or Cypher projection.

During projection, only one relationship between a pair of nodes per direction (in, out) is allowed in the directed case, but two relationships are allowed for BOTH the undirected cases.

As it can take some time to load large graphs into the algorithm data structures, you can pre-load graphs and then later refer to them by name when calling graph algorithm procedures. Named graphs can be loaded using either of the projected graph models. After usage, named graphs can be removed from memory to free resources used.

For more information, see: