我想要一个从节点开始的查询,该查询计算给定关系类型下可能的末端节点:
例如以下查询:
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。
此查询与以前的查询有什么区别?
答案 0 :(得分:2)
路径表达式的结果(在您上一次查询中使用)是路径的列表。这与在MATCH
子句中使用相同路径模式时的结果不同。
如果您将上一个查询更改为使用500
而不是SIZE()
,则会得到COUNT()
:
MATCH (start:typeA{my_id:"abc"}) return SIZE((start)-[:rel]->(:typeB))