Neo4j密码查询返回不同的计数结果

时间:2019-08-02 16:17:42

标签: neo4j cypher

我想要一个从节点开始的查询,该查询计算给定关系类型下可能的末端节点:

例如以下查询:

MATCH (start:typeA{my_id:"abc"})-[:rel]->(l:typeB) return count(l)

效果很好,并返回正确的数字,即500。

MATCH p=(start:BusStop{StopCode:"0247"})-[:CAN_BOARD]->(:Leg) return count(p)

但是,如果我这样做:

MATCH (start:typeA{my_id:"abc"}) return count((start)-[:rel]->(:typeB))

返回1。

此查询与以前的查询有什么区别?

1 个答案:

答案 0 :(得分:2)

路径表达式的结果(在您上一次查询中使用)是路径的列表。这与在MATCH子句中使用相同路径模式时的结果不同。

如果您将上一个查询更改为使用500而不是SIZE(),则会得到COUNT()

MATCH (start:typeA{my_id:"abc"}) return SIZE((start)-[:rel]->(:typeB))
相关问题