Neo4j - Where-Klausel
Wie SQL hat Neo4j CQL die WHERE-Klausel im CQL MATCH-Befehl bereitgestellt, um die Ergebnisse einer MATCH-Abfrage zu filtern.
Syntax
Es folgt die Syntax der WHERE-Klausel.
MATCH (label)
WHERE label.country = "property"
RETURN label
Beispiel
Bevor Sie mit dem Beispiel fortfahren, erstellen Sie fünf Knoten in der Datenbank, wie unten gezeigt.
CREATE(Dhawan:player{name:"shikar Dhawan", YOB: 1985, runs:363, country: "India"}
CREATE(Jonathan:player{name:"Jonathan Trott", YOB:1981, runs:229, country:"South Africa"}
CREATE(Sangakkara:player{name:"Kumar Sangakkara", YOB:1977, runs:222,
country:"Srilanka"})
CREATE(Rohit:player{name:"Rohit Sharma", YOB: 1987, runs:177, country:"India"})
CREATE(Virat:player{name:"Virat Kohli", YOB: 1988, runs:176, country:"India"})
CREATE(Ind:Country {name: "India", result: "Winners"})
Es folgt eine Beispiel-Cypher-Abfrage, die alle Spieler (Knoten), die zum Land Indien gehören, mithilfe der WHERE-Klausel zurückgibt.
MATCH (player)
WHERE player.country = "India"
RETURN player
Führen Sie die folgenden Schritte aus, um die obige Abfrage auszuführen:
Step 1- Öffnen Sie die Neo4j-Desktop-App und starten Sie den Neo4j-Server. Öffnen Sie die integrierte Browser-App von Neo4j über die URLhttp://localhost:7474/ wie im folgenden Screenshot gezeigt.

Step 2 - Kopieren Sie die gewünschte Abfrage, fügen Sie sie in die Dollar-Eingabeaufforderung ein und drücken Sie die Wiedergabetaste (um die Abfrage auszuführen), die im folgenden Screenshot hervorgehoben ist.

Ergebnis
Bei der Ausführung erhalten Sie das folgende Ergebnis.

WHERE-Klausel mit mehreren Bedingungen
Sie können auch die WHERE-Klausel verwenden, um mehrere Bedingungen zu überprüfen.
Syntax
Es folgt die Syntax zur Verwendung der WHERE-Klausel in Neo4j mit mehreren Bedingungen.
MATCH (emp:Employee)
WHERE emp.name = 'Abc' AND emp.name = 'Xyz'
RETURN emp
Beispiel
Es folgt eine Beispiel-Cypher-Abfrage, die die Knoten in der Neo4j-Datenbank unter zwei Bedingungen filtert.
MATCH (player)
WHERE player.country = "India" AND player.runs >=175
RETURN player
Führen Sie die folgenden Schritte aus, um die obige Abfrage auszuführen:
Step 1- Öffnen Sie die Neo4j-Desktop-App und starten Sie den Neo4j-Server. Öffnen Sie die integrierte Browser-App von Neo4j über die URLhttp://localhost:7474/ wie im folgenden Screenshot gezeigt.

Step 2 - Kopieren Sie die gewünschte Abfrage, fügen Sie sie in die Dollar-Eingabeaufforderung ein und drücken Sie die Wiedergabetaste (um die Abfrage auszuführen), die im folgenden Screenshot hervorgehoben ist.

Ergebnis
Bei der Ausführung erhalten Sie das folgende Ergebnis.

Verwenden der Beziehung zur Where-Klausel
Sie können auch die Where-Klausel verwenden, um die Knoten anhand der Beziehungen zu filtern.
Beispiel
Angenommen, wir haben das folgende Diagramm in der Datenbank.

Im Folgenden finden Sie eine Beispiel-Cypher-Abfrage, mit der Sie mithilfe der WHERE-Klausel (siehe unten) den besten Torschützen Indiens abrufen können.
MATCH (n)
WHERE (n)-[: TOP_SCORER_OF]->( {name: "India", result: "Winners"})
RETURN n
Führen Sie die folgenden Schritte aus, um die obige Abfrage auszuführen:
Step 1- Öffnen Sie die Neo4j-Desktop-App und starten Sie den Neo4j-Server. Öffnen Sie die integrierte Browser-App von Neo4j über die URLhttp://localhost:7474/ wie im folgenden Screenshot gezeigt.

Step 2 - Kopieren Sie die gewünschte Abfrage, fügen Sie sie in die Dollar-Eingabeaufforderung ein und drücken Sie die Wiedergabetaste (um die Abfrage auszuführen), die im folgenden Screenshot hervorgehoben ist.

Ergebnis
Bei der Ausführung erhalten Sie das folgende Ergebnis. Hier können Sie beobachten, dass Neo4j den Knoten zurückgegeben hat, der die Beziehung TOP_SCORER_OF zu dem Land hat, wobei der Knoten den Namen Indien hat.
