In Neo4j database, CQL CREATE command always creates a new node or dating this means that despite the fact that you use the equal values, it inserts a brand new row. As in step with our application necessities for some nodes or relationships, we have to keep away from this duplication. For this, we should use some database constraints to create a rule on one or extra houses of a node or relationship.
Like SQL, Neo4j database additionally supports UNIQUE constraint on node or courting homes. UNIQUE constraint is used to keep away from reproduction information and to implement information integrity rule.
Create UNIQUE Constraint
Neo4j CQL provides "CREATE CONSTRAINT" command to create particular constraints on node or courting houses.
Syntax
Following is the syntax to create a UNIQUE constraint in Neo4j.
MATCH (root {name: "Dhawan"})
CREATE UNIQUE (root)-[:LOVES]-(someone)
RETURN someone
Example
Before proceeding with the example, create 4 nodes as proven below.
CREATE(Dhawan:player{id:001, name: "shikar Dhawan", YOB: 1995, POB: "Delhi"})
CREATE(Jonathan:player {id:002, name: "Jonathan Trott", YOB: 1981, POB: "CapeTown"})
CREATE(Sangakkara:player {id:003, name: "Kumar Sangakkara", YOB: 1977, POB: "Matale"})
CREATE(Rohit:player {id:004, name: "Rohit Sharma", YOB: 1987, POB: "Nagpur"})
CREATE(Virat:player {id:005, name: "Virat Kohli", YOB: 1988, POB: "Delhi"})
Following is a pattern Cypher Query to create a UNIQUE constraint at the assets identity the usage of Neo4j.
CREATE CONSTRAINT ON (n:player) ASSERT n.id IS UNIQUE
To execute the above query, carry out the following steps −
Step 1 − Open the Neo4j computing device App and start the Neo4j Server. Open the built-in browser app of Neo4j using the URL http://localhost:7474/ as shown inside the following screenshot.
Step 2 − Copy and paste the favored query within the dollar spark off and press the play button (to execute the query) highlighted inside the following screenshot.
Result
On executing, you'll get the following result.
Verification
Now, try to add some other node with a redundant identification price. Here, we are seeking to create a node with identification 002.
CREATE (Jadeja:player {id:002, name: "Ravindra Jadeja", YOB: 1988, POB: "NavagamGhed"})
If you execute this query, you will get an error message as proven within the following screenshot.