neo4j不在查询中

时间:2015-01-27 01:10:13

标签: neo4j cypher

我有一个非常简单的查询

MATCH p=(a:User)-[r:VISITS]->(end:Page)
WHERE r.rating<2 AND t.rating>5
RETURN EXTRACT (n IN nodes(p)|n.page_id) ,count(p)
ORDER BY count(p) DESC;

这很好用。但是,为每个end节点分配了一个属性page_id。我有一个外部python脚本,它生成一个列入白名单的page_id列表,应该被忽略。例如,应忽略page_id_white = [1,4,5,6],并且代码应仅返回end.page_id不在page_id_white中的路径。我尝试了一个简单的NOT IN page_id_white语句,但它没有用。有人可以帮我解决如何进行的问题吗?

1 个答案:

答案 0 :(得分:3)

不能NOT IN。需要WHERE NOT thing IN coll

MATCH p=(a:User)-[r:VISITS]->(end:Page)
WHERE NOT end.page_id IN {page_id_white}
RETURN EXTRACT(n IN NODES(p) | n.page_id), COUNT(p)
ORDER BY COUNT(p) DESC;