Neo4j:当包含另一个项目时,创建一个项目列表



我想在Buy1和Item346的交集之外创建一个新列表(c2(Buy1:[项目12、项目23、项目7、项目562、项目346、项目85]

我要返回的列表(vsm表示(c2:[0,0,0,0,1,0]

如果你真的想要0表示值不相等,1表示值相等,你可以使用CASE的列表提取来处理输出:

WITH ['Item 12', "Item 23", "Item 7", "Item 562", "Item 346", "Item 85"] as buy1, "Item 346" as item
RETURN [i in buy1 | CASE WHEN i = item THEN 1 ELSE 0 END] as output 

编辑:如果您的输入是项目列表,而不仅仅是单个项目,那么我们可以使用列表成员身份检查(使用IN(来决定何时输出1:或0:

WITH ['Item 12', "Item 23", "Item 7", "Item 562", "Item 346", "Item 85"] as buy1, ["Item 346", "Item 7"] as items
RETURN [i in buy1 | CASE WHEN i IN items THEN 1 ELSE 0 END] as output