Filter 不再支持Neo4j过滤器功能

Filter 不再支持Neo4j过滤器功能,filter,neo4j,cypher,Filter,Neo4j,Cypher,我想比较两个列表,以便找到第一个列表中不在第二个列表中的值并返回它们。提前谢谢各位 代码返回:不再支持筛选器 有没有其他方法可以做到这一点 MATCH (cu:Customer{name: "myCustomer"})-[pu:PURCHASED]->(o:Order)-[*]->(cat:Category) MATCH (b:Book)-[:IS_a]->(cat) WITH COLLECT(DISTINCT pu.ISBN) AS purchasedbooks,COLLEC

我想比较两个列表,以便找到第一个列表中不在第二个列表中的值并返回它们。提前谢谢各位 代码返回:不再支持筛选器 有没有其他方法可以做到这一点

MATCH (cu:Customer{name: "myCustomer"})-[pu:PURCHASED]->(o:Order)-[*]->(cat:Category)
MATCH (b:Book)-[:IS_a]->(cat)
WITH COLLECT(DISTINCT pu.ISBN) AS purchasedbooks,COLLECT(DISTINCT b.ISBN) AS booksFromTheSameCategory
RETURN FILTER( n IN booksFromTheSameCategory WHERE NOT n IN purchasedbooks ) as listC
您可以使用以下语法而不是过时的筛选函数:

MATCH (cu:Customer{name: "myCustomer"})-[pu:PURCHASED]->(o:Order)-[*]->(cat:Category)<-[:IS_a]-(b:Book)
WITH COLLECT(DISTINCT pu.ISBN) AS purchasedbooks, COLLECT(DISTINCT b.ISBN) AS booksFromTheSameCategory
RETURN [n IN booksFromTheSameCategory WHERE NOT n IN purchasedbooks] as listC
您可以在上查看Cypher语法更改文档。

您可以使用语法而不是过时的筛选函数:

MATCH (cu:Customer{name: "myCustomer"})-[pu:PURCHASED]->(o:Order)-[*]->(cat:Category)<-[:IS_a]-(b:Book)
WITH COLLECT(DISTINCT pu.ISBN) AS purchasedbooks, COLLECT(DISTINCT b.ISBN) AS booksFromTheSameCategory
RETURN [n IN booksFromTheSameCategory WHERE NOT n IN purchasedbooks] as listC

您可以在上查看Cypher语法更改文档。

太好了。当你问一个问题时,请记住答案,如果有的话,它对你最有效。谢谢你提供的信息,我会记住的。当你问问题时,请记住答案,如果有的话,对你最有效。谢谢你提供的信息,我会记住的