Предложение OPTIONAL MATCH используется для поиска шаблона, описанного в нем, при использовании нулей для отсутствующих частей шаблона.
OPTIONAL MATCH аналогичен предложению match, единственное отличие состоит в том, что он возвращает ноль в результате пропущенных частей шаблона.
Синтаксис
Ниже приводится синтаксис ФУНКЦИОНАЛЬНОГО МАТЧА с отношением.
MATCH (node:label {properties. . . . . . . . . . . . . .}) OPTIONAL MATCH (node)-->(x) RETURN x
пример
Ниже приведен пример Cypher Query, который пытается извлечь отношения из узла ICCT2013. Поскольку таких узлов нет, возвращается ноль.
MATCH (a:Tornament {name: "ICC Champions Trophy 2013"}) OPTIONAL MATCH (a)-->(x) RETURN x
Для выполнения вышеуказанного запроса выполните следующие шаги:
Шаг 1 — Откройте настольное приложение Neo4j и запустите сервер Neo4j. Откройте встроенное приложение браузера Neo4j, используя URL-адрес http: // localhost: 7474 /, как показано на следующем снимке экрана.
Шаг 2 — Скопируйте и вставьте нужный запрос в подсказку доллара и нажмите кнопку воспроизведения (чтобы выполнить запрос), выделенную на следующем снимке экрана.
Результат
Выполнив, вы получите следующий результат. Здесь вы можете заметить, что, поскольку для требуемого шаблона нет совпадений, Neo4j вернул ноль.