не может правильно сопоставить узлы на основе длины массива свойств - PullRequest
0 голосов
/ 22 сентября 2018

У меня есть БД, состоящая из узлов с одной меткой.
Свойства узла содержат, среди прочего, строковый массив переменной длины.

Скажем, узлы выглядят так:

{
  "array": ["str1","str2"],
  "key1": "whatever",
  "key2": "dummy"
}

Большую часть времени, но не всегда, длина массива равна 0.
Я пытаюсь написать запрос Cypher, который бы возвращал только те узлы с массивом ненулевой длины.

IMO, такой запрос должен выглядеть следующим образом:

MATCH (n:mylabel)
WHERE size(n.array)>0
RETURN n

Однако, когда я запускаю его (через веб-интерфейс), БД возвращает ВСЕ узлы, включая узлы с массивом нулевой длины.

Некоторое время я подозревал, что я неправильно использую функцию size ().Однако, когда я ставлю

MATCH (n:mylabel)
RETURN size(n.array)

, система возвращает правильную длину массива.

Пожалуйста, сообщите.

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