检查列表 1 包含列表 2 中的所有项目,在 neo4j 中具有相同的列表 1 顺序?



例如,我有下面的数组

Array1 = ["d","c","b"]
Array2= ["d","c","x"]
Array3= ["a","C"]
Array4= ["a","d","c","b","x"]

我想将 Array1,2,3 与 Array4 进行比较,结果应该是 Array1,因为在 in 中包含 d,c,b 并在 Array4 中右排列。

最简单的方法是将数组转换为字符串,然后执行CONTAINSwhere 子句:

这是一个例子:

WITH ["d","c","b"] AS test, ["a","d","c","b","x"] AS array
WITH test, reduce(v='|', x in test | v + x + '|') as testAsString, reduce(v='|', x in array | v + x + '|') as arrayAsString
WHERE arrayAsString CONTAINS testAsString
RETURN test

请注意,如果在数组值中有一个|则此代码可能会给您一些误报。