Creating Initial Relationships

Here is the instance model you will be creating:

Instance model

Each ACTED_IN relationship here has a different value for the role property.

Run this Cypher code to add the ACTED_IN and DIRECTED relationships to the graph:

Click the Run in Sandbox button to the top right of the code sample to open the Sandbox to the right create the nodes and relationships.
cypher
MATCH (apollo:Movie {title: 'Apollo 13'})
MATCH (tom:Person {name: 'Tom Hanks'})
MATCH (meg:Person {name: 'Meg Ryan'})
MATCH (danny:Person {name: 'Danny DeVito'})
MATCH (sleep:Movie {title: 'Sleepless in Seattle'})
MATCH (hoffa:Movie {title: 'Hoffa'})
MATCH (jack:Person {name: 'Jack Nicholson'})

// create the relationships between nodes
MERGE (tom)-[:ACTED_IN {role: 'Jim Lovell'}]->(apollo)
MERGE (tom)-[:ACTED_IN {role: 'Sam Baldwin'}]->(sleep)
MERGE (meg)-[:ACTED_IN {role: 'Annie Reed'}]->(sleep)
MERGE (danny)-[:ACTED_IN {role: 'Bobby Ciaro'}]->(hoffa)
MERGE (danny)-[:DIRECTED]->(hoffa)
MERGE (jack)-[:ACTED_IN {role: 'Jimmy Hoffa'}]->(hoffa)

You can verify that the relationships have been created with this code:

cypher
MATCH (p:Person)-[a:ACTED_IN]->(m:Movie)
RETURN p, a, m

There should be a total of 6 relationships in the graph.

Validate Results

Once you have run the code to create the relationships, click the Check Database button and we will check the database for you.

Hint

The database is expecting six relationships between :Person and :Movie nodes as defined in the Cypher statement above.

Solution

The following Cypher will create the ACTED_IN relationships between the :Person and :Movie nodes:

cypher
MATCH (apollo:Movie {title: 'Apollo 13'})
MATCH (tom:Person {name: 'Tom Hanks'})
MATCH (meg:Person {name: 'Meg Ryan'})
MATCH (danny:Person {name: 'Danny DeVito'})
MATCH (sleep:Movie {title: 'Sleepless in Seattle'})
MATCH (hoffa:Movie {title: 'Hoffa'})
MATCH (jack:Person {name: 'Jack Nicholson'})

// create the relationships between nodes
MERGE (tom)-[:ACTED_IN {role: 'Jim Lovell'}]->(apollo)
MERGE (tom)-[:ACTED_IN {role: 'Sam Baldwin'}]->(sleep)
MERGE (meg)-[:ACTED_IN {role: 'Annie Reed'}]->(sleep)
MERGE (danny)-[:ACTED_IN {role: 'Bobby Ciaro'}]->(hoffa)
MERGE (danny)-[:DIRECTED]->(hoffa)
MERGE (jack)-[:ACTED_IN {role: 'Jimmy Hoffa'}]->(hoffa)

Summary

In this challenge, you created some of the initial relationships to support our instance model.

In the next challenge, you will model a new relationship in the graph data model.