我尝试在我的Java-Spring-Application中创建一个cypher-query,它应该回答“给所有未在item.nameList中创建项目的员工”的问题:
@Query("START it=node:__types__(className = 'de.my.domain.ItemCl') MATCH empl-[r:CREATE]->it WHERE (it.name NOT IN ({0})) RETURN DISTINCT empl")
List<Employee> findAllEmployeesWhoNeverCreatedItemFromItemNameList(List<String> itemNameList);
此查询提供“org.springframework.dao.InvalidDataAccessResourceUsageException”并将“NOT”标记为失败。
如果我在没有NOT的情况下尝试相同的查询(“给所有在item.nameList中创建项目的员工”,查询会做它应该做的事情。
在这个帖子中,Peter Neubauer告诉我们这个“NOT IN”存在于密码中:https://groups.google.com/forum/#!topic/neo4j/_PehVUfGaIA
知道出了什么问题吗?
答案 0 :(得分:15)
NOT
是否定的,所以你必须这样做:
WHERE NOT(it.name IN({0}))