I'm trying to use the
all() Predicate Function in my query, but it's not working as expected, so I decided to experiment a little with the Movies graph.
Given that I want to find all paths where actors acted in movies that were released after 2000, I tried using the
all() function, like so -
MATCH path=(p:Person)-[:ACTED_IN]->(movie:Movie) WHERE all(n in nodes(path) WHERE (n:Movie) AND n.released > 2000) RETURN path LIMIT 20
This is similar to the example given in the documentation, that says -
MATCH p =(a)-[*1..3]->(b) WHERE a.name = 'Alice' AND b.name = 'Daniel' AND ALL (x IN nodes(p) WHERE x.age > 30) RETURN p
All nodes in the returned paths will have an
ageproperty of at least '30' .
However, my query doesn't return anything.
If I change the query to see all
nodes in the path -
MATCH path=(p:Person)-[:ACTED_IN]->(movie:Movie) RETURN nodes(path) LIMIT 20
Then there are several nodes in the path where the movie was released after 2000 -
Is there something I'm missing about how