Reviewing querying patterns
Let’s review a few query patterns and see how a database will try to execute them to understand how to write optimal queries:
- The following code segment shows one of the most common mistakes:
MATCH (Mango {color: 'Yellow'}) return count(*)
We forgot to add :
, even if Mango
is a valid label. When we look at the query, we read it as return the count of yellow mangoes. Say we have mangoes, oranges, and apples in our cart. Since a database does not know what a mango is, it is going through all the fruits and checking for a color property, which should be Yellow
, and returns the count of that. This is because when the database sees the query, it does not see the name Mango
as a label.
Tip
Look for browser warnings before running the queries. Browsers are very good at highlighting these kinds of errors.
- The following code block is another common mistake made by developers:
MATCH (p:Patient)--(e:Encounter) RETURN p,e
...