Neo4j:具有字符串元素的数组之间的减法

Neo4j: substraction between arrays with string elements

我有以下两个数组:

 x=[red,blue,green,yellow,black,white,pink,orange,brown]
 y=[blue,white,pink]

我如何使用 Cypher 获得以下输出?

 z=[red,,green,yellow,black,,,orange,brown]

我需要一个与数组 x 大小相同且元素顺序相同的数组,但是当数组 y 有公共元素时,我需要空白元素。

您可以使用 list comprehension.

例如,这个查询:

WITH
  ["red","blue","green","yellow","black","white","pink","orange","brown"] AS x,
  ["blue","white","pink"] AS y
RETURN [i IN x | CASE WHEN i IN y THEN "" ELSE i END] AS result

returns:

╒══════════════════════════════════════════════════════════╕
│"result"                                                  │
╞══════════════════════════════════════════════════════════╡
│["red","","green","yellow","black","","","orange","brown"]│
└──────────────────────────────────────────────────────────┘