java - 在 Neo4j 中优先过滤单个属性
问题描述
我的节点帖子具有如下属性:_id,type(int)
现在我想按这样的属性类型进行过滤:
首先,我想匹配 1,2,3 中的每种类型
其次,如果它不匹配任何集合,那么我想在我的数据库中返回任何其他类型的集合,例如 4、5、6。
我该怎么做?谢谢
解决方案
您可以计算第一个过滤器的节点数,然后选择要使用的过滤器:
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
推荐阅读
- python - 对于一个数组中的每个标签,将另一个数组中的前 k 个出现设置为 False
- java - 如何在 Java 8 中进行条件方法链接
- python - 如何强制 Django 模型从内存中释放
- javascript - 使用 Azure VM Javascript SDK 从 RunCommand 获取 StdOut
- python - Statsmodels OLS with rolling window problem
- c# - Blazor Client problem with mscorlib.dll / mono-runtime
- delphi - 发布客户端模块上的 Datasnap 请求失败
- jquery-ui - jqxDateTimeInput 与 WebForms
- python - conda-env list / conda info --envs 如何查找环境?
- javascript - Winston 记录错误的 json 语法