Projecting a graph for use by GDS
GDS doesn’t operate directly on the data stored in Neo4j. Tuned for optimal performance, it uses its own data structure, which can be configured to contain a minimal amount of entities to optimize memory. While your Neo4j graph may contain tens of node labels, each with multiple properties, some algorithms will only use a single node label (for example, User
) and no property. The GDS library offers the possibility to create a projected graph containing only these nodes. A so-called projected graph can be created using two different procedures:
gds.graph.project
: For native projectiongds.graph.project.cypher
: For Cypher projection
We are going to detail both of these procedures in the following sections.
Backward compatibility
If you used GDS prior to its 2.0 version, the aforementioned procedures used to be called gds.graph.create
and gds.graph.create.cypher
, respectively.
Native projections
In a native projection...