Creating nodes
In this lesson you will learn how to write Cypher code to create nodes in the graph.
Using the Movies data model, you will create and execute Cypher code to create actors and movies in our graph.
We use the MERGE
keyword to create a pattern in the database.
After the MERGE
keyword, we specify the pattern that we want to create.
Usually this will be a single node or a relationship between two nodes.
Suppose we want to create a node to represent Michael Caine. Run this Cypher code to create the node.
MERGE (p:Person {name: 'Michael Caine'})
It creates a single node in the graph.
Note that when you use MERGE
to create a node, you must specify at least one property that will be the unique primary key for the node.
Verify that the node was created.
MATCH (p:Person {name: 'Michael Caine'})
RETURN p
Executing multiple Cypher clauses
We can also chain multiple MERGE
clauses together within a single Cypher code block.
MERGE (p:Person {name: 'Katie Holmes'})
MERGE (m:Movie {title: 'The Dark Knight'})
RETURN p, m
This code creates two nodes, each with a primary key property. Because we have specified the variables p and m, we can use them in the code to return the created nodes.
Using CREATE
instead of MERGE
to create nodes
Cypher has a CREATE
clause you can use for creating nodes.
The benefit of using CREATE
is that it does not look up the primary key before adding the node.
You can use CREATE
if you are sure your data is clean and you want greater speed during import.
We use MERGE
in this training because it eliminates duplication of nodes.
Check your understanding
1. Creating a node
Which Cypher keywords can you use to create nodes?
-
❏
ADD
-
✓
CREATE
-
✓
MERGE
-
❏
UPDATE
Hint
There are 2 keywords you can use. One keyword checks to see if the node already exists so it won’t be duplicated. The other keyword does not check for duplicates, but it is more performant for bulk importing of data.
Solution
The two correct keywords for creating data in Cypher are CREATE
and MERGE
.
2. Using MERGE
What should you specify when using MERGE
to create a node?
-
❏ The number of properties the node will have.
-
✓ The label for the node.
-
❏ The index to be used for the node.
-
✓ The name and value for the property that will be the primary key for the node.
Hint
What two things are used to uniquely identify a node in the graph?Solution
When merging a node you should specify the label for the node and the name and value of the properties that uniquely identify the node.
Summary
In this lesson, you learned how to create nodes in the graph. In the next challenge, you will demonstrate your skill of creating a node.