Relationships Traversed

Finding more co-actors

Actors in movies that Robert Blake acted in

Given this query and what you have learned about graph traversal:

cypher
MATCH (p:Person {name: 'Robert Blake'})-[:ACTED_IN]->(m:Movie)
MATCH (allActors:Person)-[:ACTED_IN]->(m)
RETURN m.title, collect(allActors.name)

How many relationships are traversed to return the result?

  • ✓ 20

Hint

The query finds each movie that Robert Blake acted in. How many ACTED_IN traversals is that?

For each movie, it uses a second MATCH to find all actors to acted in that movie. Because there are two MATCH clauses, it traverses the ACTED_IN relationship from Robert Blake twice.

How many ACTED_IN relationships are traversed?

Once you have entered the answer, click the Try Again button below to continue.

Solution

This query traverses a total of 20 ACTED_IN relationships.

  1. It first traverses all ACTED_IN relationships from Robert Blake (4 traversals)

  2. For each movie found, it traverses all ACTED_IN relationships to tbe movie. (16 traversals, including the traversal from Robert Blake)

You can see the nodes and relationships involved, with this query:

cypher
MATCH (p:Person {name: 'Robert Blake'})-[:ACTED_IN]->(m:Movie)
MATCH (allActors:Person)-[:ACTED_IN]->(m)
RETURN p,m,allActors

Once you have entered the answer, click the Try Again button below to continue.

Summary

In this challenge, you determined the number of relationships that are traversed during query.

In the next lesson, you will learn about traversal with variable-length paths in the graph.