检查neo4j中是否存在序列中的序列

时间:2018-05-07 11:09:03

标签: neo4j cypher

有人可以告诉我们如何比较Cypher / Neo4j中的序列是否存在?

就像我说collect()在遍历时收集元素时,我们可以在收集[Element1, Element2, Element3]时检查此序列是否存在?

1 个答案:

答案 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