如何在neo4j Cypher中获取列表的子集

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在neo4j Cypher中获取列表的子集相关的知识,希望对你有一定的参考价值。

我想知道如何在Cypher中获取列表的子集?

让我们假设以下Cypher查询:

WITH ['a','b','c'] AS set1,  ['b'] AS set2
RETURN set1, set2

我想得到RETURNset3结果,set1['a','c']的一个子集,仅包含值set2。因此过滤掉了['b'](此样本中的WITH ['a','b','c'] AS set1, ['b'] AS set2 RETURN [item in set1 WHERE NOT item in set2] as set3 值)的内容。

任何想法如何做到这一点?

谢谢,Koen

答案

使用Cypher,您可以在列表中使用过滤器操作,确保您保留的唯一值不是第二个列表中的值:

APOC Procedures plugin

虽然如果你有WITH ['a','b','c'] AS set1, ['b'] AS set2 RETURN apoc.coll.subtract(set1, set2) as set3 ,你可以使用其中一个集合函数来执行列表减法:

qazxswpoi

以上是关于如何在neo4j Cypher中获取列表的子集的主要内容,如果未能解决你的问题,请参考以下文章

如何优化 Neo4J Cypher 查询?

如何使用 Cypher neo4j 将三列连接为一列并获取其中唯一条目的计数?

如何使用 Neo4J 的 Cypher 查询返回关系类型?

如何往neo4j中批量插入cypher语句

如何忽略 cypher (neo4j) 中 java 存储过程的产量值?

Neo4j:如何删除与 cypher 的特定关系?