有人可以告诉我们如何比较Cypher / Neo4j中的序列是否存在?
就像我说collect()
在遍历时收集元素时,我们可以在收集[Element1, Element2, Element3]
时检查此序列是否存在?
答案 0 :(得分:0)
根据您是否允许间隙,您可以找到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