If it helps, WHERE isn't a standalone clause, it can only follow a MATCH, OPTIONAL MATCH, or WITH clause. So think of it as MATCH WHERE..., WITH WHERE... and OPTIONAL MATCH WHERE..., that will help avoid some confusion when it comes to using a WHERE clause with an OPTIONAL MATCH (where nothing gets filtered out).
also for what its worth, using the Neo4j Browser (i.e. http://localhost:7474) and clicking the left frame and the 3rd icon which has a 'book' image, will link to our available documentation, which includes
Cypher Introduction
Cypher RefCard