Allen
Allen

Reputation: 13

'Same' queries return different results

I have two queries which are almost the same as below(the only difference is the r: in front of FOR in Query 1)

Query 1: MATCH p=()-[r:FOR]->() RETURN count(p)
Query 2: MATCH p=()-[FOR]->() RETURN count(p)

When I am running this queries against my Neo4j server, it returns different result. Query 1 is around 1/3 or query 2, I guess it is due to query 1 has 'combined' the results while query 2 didn't.(e.g. a-[FOR]->c and b-[FOR]->c were combined into 1 record), but just my guessing. I have tried to google or search in Neo4j documentation but no luck. Anyone can explain the difference?

Thanks in advance.

Upvotes: 0

Views: 116

Answers (1)

Frank Pavageau
Frank Pavageau

Reputation: 11705

MATCH p=()-[r:FOR]->() RETURN count(p)

This query binds the FOR relationship to the r variable (though it doesn't use it).

MATCH p=()-[FOR]->() RETURN count(p)

This query binds any relationship (i.e. of any type) to the FOR variable.

The correct syntax for specifying the relationship type in Cypher is :XXX, with the leading colon. The correct version of the second query would actually be:

MATCH p=()-[:FOR]->() RETURN count(p)

Upvotes: 4

Related Questions