Neo4j:在包含另一个项目时创建项目列表
Neo4j: Create a list of items when contain another item
我想在 Buy1 与 Item346 的交集之外创建一个新列表 (c2)
Buy1 : [项目 12, 项目 23, 项目 7, 项目 562, 项目 346, 项目 85]
列表我要return(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
我想在 Buy1 与 Item346 的交集之外创建一个新列表 (c2) Buy1 : [项目 12, 项目 23, 项目 7, 项目 562, 项目 346, 项目 85]
列表我要return(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