Neo4j CQL
Neo4j CQL Write Clauses
- Neo4j - Foreach Clause
- Neo4j - Remove Clause
- Neo4j - Delete Clause
- Neo4j - Set Clause
- Neo4j - Merge Command
Neo4j CQL Read Clause
Neo4j CQL General Clauses
- Neo4j - Unwind Clause
- Neo4j - With Clause
- Neo4j - Skip Clause
- Neo4j - Limit Clause
- Neo4j - Order By Clause
- Neo4j - Return Clause
Neo4j CQL Functions
Neo4j CQL Admin
Neo4j Useful Resources
Selected Reading
- Who is Who
- Computer Glossary
- HR Interview Questions
- Effective Resume Writing
- Questions and Answers
- UPSC IAS Exams Notes
Neo4j - Optional Match Clause
The OPTIONAL MATCH clause is used to search for the pattern described in it, while using nulls for missing parts of the pattern.
OPTIONAL MATCH is similar to the match clause, the only difference being it returns null as a result of the missing parts of the pattern.
Syntax
Following is the syntax of the OPTIONAL MATCH with relationship.
MATCH (node:label {properties. . . . . . . . . . . . . .}) OPTIONAL MATCH (node)-->(x) RETURN x
Example
Following is a sample Cypher Query which tries to retrieve the relations from the node ICCT2013. Since there are no such nodes, it returns null.
MATCH (a:Tornament {name: "ICC Champions Trophy 2013"}) OPTIONAL MATCH (a)-->(x) RETURN x
To execute the above query, carry out the following steps −
Step 1 − Open the Neo4j desktop App and start the Neo4j Server. Open the built-in browser app of Neo4j using the URL http://localhost:7474/ as shown in the following screenshot.
![Browser App](/neo4j/images/browser_app.jpg)
Step 2 − Copy and paste the desired query in the dollar prompt and press the play button (to execute the query) highpghted in the following screenshot.
![Optional Match](/neo4j/images/optional_match.jpg)
Result
On executing, you will get the following result. Here you can observe that since there are no matches for the required pattern, Neo4j returned null.
![Pattern Required](/neo4j/images/pattern_required.jpg)