Graph Data Science

projection

An in-memory copy of part of your database that graph algorithms run against. You choose which Full definition for node (opens in a new tab)A vertex in a graph. In a property graph it can carry labels and properties. and Full definition for relationship (opens in a new tab)A named, directed connection between two nodes. Every relationship has a type, a start node and an end node. it holds.

Also written: projections, graph projection, graph projections

Learn more in Project a graph

Example

The database holds customers, products and categories.

cypher
MATCH (source:Customer)-[:BOUGHT]->(target:Product)
WITH gds.graph.project('purchases', source, target) AS g
RETURN g.graphName, g.nodeCount, g.relationshipCount

purchases holds four nodes and three relationships: the two customers, the two products and the [:BOUGHT] relationships joining them.

The (:Category) node and both [:IN_CATEGORY] relationships are not included.

Lessons that use this term

The lesson and course links below open in a new tab.

86 lessons use this term. The 40 with the highest term density are listed here.

Intermediate Cypher Queries11 mentions

  • Top MoviesPipelining Queriesquery uses WITH to return a map projection of the top 10 movies by IMDb3 mentions
  • Adding GenresPipelining Queriesthis query to add the genres to the map projection2 mentions

Building Neo4j Applications with Spring Data42 mentions

  • Spring Data Neo4j ProjectionsCustom Cypher for Read and Writelesson covers the basics of projections in Spring Data19 mentions
  • DTO-based projectionsCustom Cypher for Read and Writeyou can use DTO-based projections similarly to interface-based projections with a subset of existing domain class properties, DTO-based projections11 mentions
  • Interface-based projectionsCustom Cypher for Read and WriteInterface-based projections are a great place to7 mentions

Get started with Graph Data Science273 mentions

  • Project a graphGDS basic conceptslesson focuses exclusively on Step 1: Projection—the foundation of all GDS22 mentions
  • Challenge: Aggregated projection and analysisEssential projection techniqueslearned how to aggregate relationships during projection using count(r) to count relationships between node9 mentions
  • Practice bipartite projectionsGDS basic conceptsgraph structure and graph labels, and when to preserve labels in your projections, it's time to practice creating bipartite25 mentions
  • Challenge: Monopartite projectionGDS basic conceptslearned how to create various monopartite projections8 mentions
  • Challenge: Multipartite projectionsGDS basic conceptslearned how to create projections with multiple node7 mentions
  • Projection modeling for algorithmsEssential projection techniqueslearned how to create projections and how to configure15 mentions
  • Module recap and what's nextGDS basic conceptscreate an in-memory projection, run algorithms on it, and write results back to your database or use them in8 mentions
  • Challenge: Projection modeling and analysisEssential projection techniquesthe previous lesson, you learned how to design projections based on analytical16 mentions
  • Understand relationship aggregationEssential projection techniqueslearned how to use existing relationship properties as weights in your projections15 mentions
  • Projecting monopartite graphsGDS basic conceptsthe previous lesson, you learned how to create basic Cypher projections19 mentions
  • Module recap and what's nextWorking with algorithmsView results directly without storing them Mutate - Store results in the projection for chaining algorithms Write - Persist results back to the database Estimate - Check memory requirements8 mentions
  • Practice relationship aggregationEssential projection techniquesyou'll practice building aggregated projections using count(r) to count relationships between node6 mentions
  • Module recapEssential projection techniquesView results directly without storing them Mutate - Store results in the projection for chaining algorithms Write - Persist results back to the database Estimate - Check memory requirements11 mentions
  • Practice monopartite projectionsGDS basic conceptsand graph labels, it's time to practice creating true monopartite projections17 mentions
  • Projecting bipartite and multipartite graphsGDS basic conceptsthe previous lessons, you learned that GDS creates unlabelled projections by default—preserving graph structure but stripping away node labels and relationship12 mentions
  • List and drop graphsGDS basic conceptsthat you've practiced creating various types of projections—monopartite, bipartite, and multipartite—it's time to learn how to manage them9 mentions
  • Understand the GDS workflowGDS basic conceptsExecute algorithms on the projection10 mentions
  • Configuring projections for undirected relationshipsWorking with algorithmsthis lesson, you'll configure your projection to use undirected relationships and run PageRank and Leiden to see how the results10 mentions
  • Configuring projections with unweighted relationshipsWorking with algorithmsand without weights How weights affect community detection When weighted projections are6 mentions

Aura Graph Analytics fundamentals43 mentions

  • Implicit sessionsAura Graph Analytics in the Aura WorkspaceHow to spin up a session and projection at the same time — known as an "implicit10 mentions
  • Standalone sessions from DataFramesFrom the Python clientBuild a small actor-collaboration projection from two DataFrames Visualize your projection with neo4j-viz Run PageRank on your projection Write everything8 mentions
  • Aura Graph Analytics workflowAura Graph Analytics in the Aura Workspacein AuraDB, an Aura Graph Analytics session created with get_or_create(), and graph projections created inside the9 mentions
  • The AGA workflow end to endFrom the Python clientthis step, and you'll either get a session too small for the projection or one larger than you need to pay7 mentions

Analyze Graph Data with Python55 mentions

  • GDS Workflows in PythonGDS Python ClientExecute the standard five-step GDS workflow in Python Create graph projections and inspect them using the Graph object Choose the right execution mode for different situations Work with15 mentions
  • From Cypher to Native ProjectionGDS Python ClientYou may have been using Cypher projections when working with GDS in the9 mentions
  • Running AlgorithmsGDS Python ClientChain algorithms together using mutate mode Stream combined results from projections Estimate memory requirements before3 mentions

Understand centrality algorithms27 mentions

Graph Data Science in Practice90 mentions

  • Projection Configuration for AlgorithmsGDS FoundationsSome algorithms need specific projection configurations to work correctly--or at23 mentions
  • The GDS WorkflowGDS Foundationsdata from analysis, enabling fast, iterative experimentation on an in-memory projection of your graph without modifying your original13 mentions
  • Projection PracticeGDS Foundationscreate both types of projections you learned10 mentions
  • Graph Projections and StructureGDS Foundationsshowing graph projection process affecting algorithm14 mentions
  • Algorithm CategoriesGDS FoundationsBefore diving into projections and hands-on work, let's map the3 mentions
  • Reducing Search Space with LouvainCommunity Detection for FraudCreate a heterogeneous graph projection for fraud analysis Run Louvain in stats and write modes Identify communities containing known fraudsters Focus6 mentions

AI on Your Lakehouse: Context Comes in Shapes, Not Queries12 mentions

  • Build the Themes ToolSurface Themes - Communitiesbuild skill/scripts/themes.py: the pipeline and renderer are given; the projection query is marked9 mentions

Path Finding with GDS4 mentions

All glossary terms