neo4j - 如何匹配具有超过 1 个指定关系的节点
问题描述
我试图在 Neo4j 中找到所有 Datum 节点,其中有超过 1 个 GOLDSOURCEFEED 关系指向它。而且我不在乎什么类型的节点有关系。这是基本查询,因此您可以查看节点变量等。
MATCH (p:Datum)<-[:GOLDSOURCEFEED]-()
WHERE exists ( (p:Datum)<-[:GOLDSOURCEFEED]-() )
RETURN p.name
显然,当我放入上面的列表时,我得到了所有具有 GOLDSOURCEFEED 关系的 Datum 节点,我想将其细化为仅列出存在多个 GOLDSOURCEFEED 关系的位置。
解决方案
我会将关系数计算为 count(r),然后将其作为过滤超过 1 个 GOLDSOURCEFEED 的条件。
MATCH (p: Datum) <- [r: GOLDSOURCEFEED] - ()
WITH p, count(r) as cnt
WHERE cnt > 1
RETURN p.name;
推荐阅读
- c# - 如何删除输出答案的句点?
- c# - 为什么 Unity 不能识别这个 DLL - 是不是放错地方了?
- javascript - 强制表格导航向下行然后跨到下一列
- c# - C# FireStore,从文档中获取值
- powerbi - 两个运行总查询之间的差异
- android - TextView 在旧文本之上覆盖新文本,而不是替换它。(科特林 - 安卓)
- google-sheets - 从不断增长的范围中检索月份(Google 表格)
- typescript - 如何使用 Jest 模拟 Es6 类?
- linux - 如何在 Linux 上使用 mmap 系统调用解决我在此 x86-64 汇编代码中遇到的 EINVAL 和 EPERM 错误
- apache-spark - 超出 GC 开销限制 - Databricks 内存不足