Welcome to Software Development on Codidact!
Will you help us build our independent community of developers helping developers? We're small and trying to grow. We welcome questions about all aspects of software development, from design to code to QA and more. Got questions? Got answers? Got code you'd like someone to review? Please join us.
Post History
Something like this query should work for you: MATCH (a:Person)-[:IS_SON]->()-[:WAS_BORN]->(b:Country) WITH a, count(DISTINCT b) AS birthplaces WHERE birthplaces = 1 RETURN a Note that...
Answer
#1: Initial revision
Something like this query should work for you: ``` MATCH (a:Person)-[:IS_SON]->()-[:WAS_BORN]->(b:Country) WITH a, count(DISTINCT b) AS birthplaces WHERE birthplaces = 1 RETURN a ``` Note that this query would return people who have parents with unknown birthplaces, since those paths won't be included in the `MATCH` clause. If you have that case in your database and want to exclude it, then I think you lose a little elegance: ``` MATCH (a:Person)-[:IS_SON]->(p:Person) OPTIONAL MATCH (p)-[:WAS_BORN]->(b:Country) WITH a, count(p) AS parents, count(b) AS birthplaces, count(DISTINCT b) as distinct_birthplaces WHERE parents = birthplaces AND distinct_birthplaces = 1 RETURN a ```