neo4j - 查找具有多个传入关系的 neo4j 节点

标签 neo4j cypher

我试图找到具有多个传入关系的所有节点。鉴于此数据:

a-[has]->b
a-[has]->c
d-[has]->b

所以,我正在寻找一个返回“b”的查询,因为它有更多的传入。

这个查询很接近。它返回 'a' 和 'b',因为它们都有 2 个关系:
match (n)--()
with n,count(*) as rel_cnt
where rel_cnt > 1
return n;

但是,此查询(添加“-->”)不返回任何内容,我不知道为什么:
match (n)-->()
with n,count(*) as rel_cnt
where rel_cnt > 1
return n;

我在这一切都错了吗?

最佳答案

这对你有用吗?

MATCH ()-[r:has]->(n)
WITH n, count(r) as rel_cnt
WHERE rel_cnt > 1
RETURN n;

我假设,可能是错误的,“有”是合适的关系类型。如果没有,请尝试:
MATCH ()-[r]->(n)
WITH n, count(r) as rel_cnt
WHERE rel_cnt > 1
RETURN n;

关于neo4j - 查找具有多个传入关系的 neo4j 节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22998090/

相关文章:

neo4j - Neo4j 中 id 的自动生成

java - 如何在 Neo4j 的 cypher 查询中为一个键提供多个值?

c# - 如何使用新的 .Net 驱动程序访问 Neo4j 数据库调用结果中的数据?

node.js - 当命令正常时 cron 没有运行,为什么?

java - 使用带有属性映射的 Cypher CREATE 命令,来自 Java

neo4j - '无法在此处创建带有标签或属性的节点。该变量已经在 Neo4j 中的上下文中声明

Neo4j cypher - 导入 CSV 并根据 csv 值添加节点之间的关系

hadoop - 如何使用neo4j作为hadoop的输入?

database - Cypher 在 'join' 返回指数计数结果

Neo4j:基于聚合函数过滤节点