我有一个节点发布,其属性如下:_id,type(int)
现在我想按这样的属性类型进行过滤:
首先,我要匹配1,2,3中的每种类型
第二,如果它与任何集合都不匹配,那么我想在数据库中返回其他类型的任何集合,例如4,5,6。
我该怎么办?谢谢
答案 0 :(得分:0)
您可以计算第一个过滤器的节点数,然后选择要使用的过滤器:
WITH [1, 2, 3] AS firstFilter,
[4, 5, 6] AS secondFilter
OPTIONAL MATCH (N) WHERE N.type IN firstFilter
WITH CASE WHEN count(N) > 0
THEN firstFilter
ELSE secondFilter
END AS filter
MATCH (N) WHERE N.type IN filter
RETURN N