Проверьте, существует ли последовательность в in collect в neo4j - PullRequest
0 голосов
/ 07 мая 2018

Может кто-нибудь сказать, как мы можем сравнить последовательность, присутствующую в коллекции или нет в Cypher / Neo4j?

Например, если я скажу, что пока collect() собирает элементы при прохождении, можем ли мы проверить, присутствует ли эта последовательность, когда она произвела сбор [Element1, Element2, Element3]?

1 Ответ

0 голосов
/ 07 мая 2018

В зависимости от разрешения пробелов вы можете либо найти индекс e1..e3 и увидеть, что они растут (с пробелами) (apoc.coll.indexOf)

Или вы можете извлечь-3-элементы подсписки и сравнить их.

WITH [1,2,3,4,5] as coll, [2,3,4] as seq
WHERE any(idx IN range(0,length(coll)-length(seq)) WHERE coll[idx..idx+length(seq)] = seq)
RETURN coll, seq
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...