Учебники

Neo4j — Где пункт

Как и SQL, Neo4j CQL предоставил предложение WHERE в команде CQL MATCH для фильтрации результатов запроса MATCH.

Синтаксис

Ниже приведен синтаксис предложения WHERE.

MATCH (label)  
WHERE label.country = "property" 
RETURN label 

пример

Прежде чем приступить к примеру, создайте пять узлов в базе данных, как показано ниже.

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"})

Ниже приведен пример Cypher Query, который возвращает всех игроков (узлов), принадлежащих стране Индия, с использованием предложения WHERE.

MATCH (player)  
WHERE player.country = "India" 
RETURN player 

Для выполнения вышеуказанного запроса выполните следующие шаги:

Шаг 1 — Откройте настольное приложение Neo4j и запустите сервер Neo4j. Откройте встроенное приложение браузера Neo4j, используя URL-адрес http: // localhost: 7474 /, как показано на следующем снимке экрана.

Приложение для браузера

Шаг 2 — Скопируйте и вставьте нужный запрос в подсказку доллара и нажмите кнопку воспроизведения (чтобы выполнить запрос), выделенную на следующем снимке экрана.

Где игрок

Результат

Выполнив, вы получите следующий результат.

Где результат

ГДЕ оговорка с несколькими условиями

Вы также можете использовать предложение WHERE для проверки нескольких условий.

Синтаксис

Ниже приводится синтаксис использования предложения WHERE в Neo4j с несколькими условиями.

MATCH (emp:Employee)  
WHERE emp.name = 'Abc' AND emp.name = 'Xyz' 
RETURN emp 

пример

Ниже приведен пример Cypher Query, который фильтрует узлы в базе данных Neo4j, используя два условия.

MATCH (player)  
WHERE player.country = "India" AND player.runs >=175 
RETURN player 

Для выполнения вышеуказанного запроса выполните следующие шаги:

Шаг 1 — Откройте настольное приложение Neo4j и запустите сервер Neo4j. Откройте встроенное приложение браузера Neo4j, используя URL-адрес http: // localhost: 7474 /, как показано на следующем снимке экрана.

Приложение для браузера

Шаг 2 — Скопируйте и вставьте нужный запрос в подсказку доллара и нажмите кнопку воспроизведения (чтобы выполнить запрос), выделенную на следующем снимке экрана.

Вернуться Игрок

Результат

Выполнив, вы получите следующий результат.

Состояние Результат

Использование отношения с предложением Where

Вы также можете использовать предложение Where для фильтрации узлов, используя отношения.

пример

Предположим, у нас есть следующий график в базе данных.

Предполагаемая база данных

Ниже приведен пример Cypher Query для получения лучшего бомбардира Индии с помощью предложения WHERE, как показано ниже.

MATCH (n) 
WHERE (n)-[: TOP_SCORER_OF]->( {name: "India", result: "Winners"}) 
RETURN n 

Для выполнения вышеуказанного запроса выполните следующие шаги:

Шаг 1 — Откройте настольное приложение Neo4j и запустите сервер Neo4j. Откройте встроенное приложение браузера Neo4j, используя URL-адрес http: // localhost: 7474 /, как показано на следующем снимке экрана.

Приложение для браузера

Шаг 2 — Скопируйте и вставьте нужный запрос в подсказку доллара и нажмите кнопку воспроизведения (чтобы выполнить запрос), выделенную на следующем снимке экрана.

Победители Результат

Результат

Выполнив, вы получите следующий результат. Здесь вы можете заметить, что Neo4j вернул узел, имеющий отношение TOP_SCORER_OF к стране с узлом, имеющим имя Индия.