совпадение neo4j в списке, если существует или не существует - PullRequest
0 голосов
/ 04 апреля 2020

У меня есть список вроде

['text1', 'text2', 'text3']

мне нужен запрос для сопоставления элементов в графе, так что если элемент не существует, мне нужно вернуть NULL вместо того, чтобы удалить его.

я пробовал этот код, но он не работает

MATCH (e:Person)
WHERE e.text IN ['text1', 'text2', 'text3']
RETURN e.text, ID(e)

этот код возвращает вывод, такой как

'text1', 20
'text3', 90

но я ожидал, что результат будет как

'text1', 20
'text2', null
'text3', 90

1 Ответ

1 голос
/ 04 апреля 2020

В этом случае нам нужно UNWIND ввести ваш список в строки, а затем выполнить ФАКУЛЬТАТИВНОЕ МАТЧ. , поскольку узел может не существовать.

UNWIND ['text1', 'text2', 'text3'] as text
OPTIONAL MATCH (e:Person)
WHERE e.text = text
RETURN text, ID(e)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...