我试图找到Neo4j中所有有超过1个GOLDSourceFEED关系指向它的Datum节点。我不关心什么样的节点有关系。这里是基本查询,这样你就可以看到节点变量等。
MATCH (p:Datum)<-[:GOLDSOURCEFEED]-()
WHERE exists ( (p:Datum)<-[:GOLDSOURCEFEED]-() )
RETURN p.name
显然,当我在上面的列表中放置时,我得到了所有具有GOLDSourceFEED关系的Datum节点,我想将其细化为仅列出存在多个GOLDSourceFEED关系的节点。
2条答案
按热度按时间9jyewag01#
你应该使用一个有效的度检查:
度检查只是使用每个节点已经可用的数据,而不需要实际获取路径。当您不关心关系另一端的节点或任何关系属性时,可以执行度检查。
[更新]
从neo4j 5.0开始,你可以使用一个degree子查询来进行度检查。举例来说:
如上所述,如果
COUNT
子查询中的模式未指定关系的另一端,并且未指定任何关系属性,则这将获得p
的度,而不会命中DB。yi0zb3m42#
我会把关系的数量记为count(r),然后把它作为一个条件来过滤超过1个GOLDSourceFEED。