Now for a challenge.
Shortest Path
What is the shortest path between 'Kevin Bacon' and 'Peta Wilson'?
You can use the same projection and a similar query to the previous lesson to find the answer.
You will need to:

Create a projection (or use the same one as the previous lesson) of
Actor
andMovie
nodes andACTED_IN
andDIRECTED
relationships. 
Create a query that matches the 2
Actor
nodes and usesgds.shortestPath.dijkstra.stream
function to find the shortest path 
Count how many relationships there are between the source and target nodes.
Enter the number of relationship hops between 'Kevin Bacon' and 'Peta Wilson':

✓ 6
Hint
This is the Cypher you used in the previous lesson to find the shortest path between Kevin Bacon and Denzel Washington.
// Create projection
CALL gds.graph.project('proj',
['Person','Movie'],
{
ACTED_IN:{orientation:'UNDIRECTED'},
DIRECTED:{orientation:'UNDIRECTED'}
}
);
// Find shortest path
MATCH (kevin:Actor{name : 'Kevin Bacon'})
MATCH (denzel:Actor{name : 'Denzel Washington'})
CALL gds.shortestPath.dijkstra.stream(
'proj',
{
sourceNode:kevin,
TargetNode:denzel
}
)
YIELD sourceNode, targetNode, path
RETURN sourceNode, targetNode, nodes(path) as path;
There is a path consisting of four relationships between Kevin Bacon and Denzel Washington.
Solution
You will need to create a graph projection, that includes the Person
and Movie
nodes and the ACTED_IN
and DIRECTED
relationships.
CALL gds.graph.project('proj',
['Person','Movie'],
{
ACTED_IN:{orientation:'UNDIRECTED'},
DIRECTED:{orientation:'UNDIRECTED'}
}
);
Then you can use a similar query to the one used in the previous lesson to find the shortest path between Kevin Bacon and Peta Wilson.
MATCH (kevin:Actor{name : 'Kevin Bacon'})
MATCH (peta:Actor{name : 'Peta Wilson'})
CALL gds.shortestPath.dijkstra.stream(
'proj',
{
sourceNode:kevin,
TargetNode:peta
}
)
YIELD sourceNode, targetNode, path
RETURN sourceNode, targetNode, nodes(path) as path;
The answer is the number of relationships in the path. There are 6 relationships between Kevin Bacon and Peta Wilson.
Summary
In this lesson you applied the knowledge from the last lesson to find the shortest path between two actors using a graph projection.
In the next lesson, you will learn more about Community Detection Algorithms.