【问题标题】:Neo4j: Comparing two lists with CONTAINSNeo4j:将两个列表与 CONTAINS 进行比较
【发布时间】:2021-12-13 18:44:06
【问题描述】:
我有两个列表,ListA 是成分,其字面名称如 ['eggs', 'sugar'] 和 ListB 上的成分如 ['salted eggs', 'sugar powder']。我想知道如何将 listA 的每个成员与 listB 上的每个成员进行比较,以使“鸡蛋”与“咸蛋”匹配,“糖”与“糖粉”匹配。我知道它与 CONTAINS 一起有助于匹配另一个字符串中的子字符串,但我不知道如何在两个列表之间进行这种比较。
【问题讨论】:
标签:
database
neo4j
cypher
【解决方案1】:
这是一个示例查询,它显示了将列表理解与 ANY 谓词一起使用的行为:
WITH
['eggs', 'sugar'] AS list1,
['salted eggs', 'sugar powder', 'other ingredient'] AS list2
RETURN [x IN list1 WHERE
ANY(z IN list2 WHERE z CONTAINS x)
] AS matchingElements