даже после нулевой проверки, почему я получаю нулевое значение в neo4j? - PullRequest
0 голосов
/ 13 июля 2020

Я попробовал следующий запрос, в котором я пытаюсь найти человека, у которого есть контакт, и если этот контакт направил mov ie, то mov ie name. в этом я пытаюсь избежать null для mov ie names.

, но запрос ниже не работает, Я даже пробовал IS NOT NULL. и m.title <> NULL

MATCH (a:Person)-[:HAS_CONTACT]->(b)
OPTIONAL MATCH (b)-[:DIRECTED]->(m:Movie)
WHERE m <> NULL
RETURN a.name, b.name,m.title
LIMIT 1

РЕЗУЛЬТАТ:

    a.name  b.name  m.title
"Keanu Reeves"  "Rita Wilson"   null

Ответы [ 2 ]

0 голосов
/ 13 июля 2020

Поскольку OPTIONAL MATCH не обязательно должно соответствовать (например, если b не имеет отношений DIRECTED), предложение RETURN вашего запроса может законно видеть NULL m ( а также NULL m.title).

Если вы просто хотите увидеть (возможно, пустой) список из m.title значений (любое из которых может быть NULL, если это mov ie не имеет title):

MATCH (a:Person)-[:HAS_CONTACT]->(b)
RETURN a.name, b.name, [(b)-[:DIRECTED]->(m:Movie) | m.titles] AS titles
LIMIT 1
0 голосов
/ 13 июля 2020

Скорее всего, m.title не имеет значения или не существует.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...