Neo4j 仅显示关系中具有特定属性的节点

Neo4j 仅显示关系中具有特定属性的节点,neo4j,cypher,Neo4j,Cypher,我是neo4j的新手,我正在努力构建一个简单的过滤器 我到处玩,找到了in操作符,但它只列出了至少找到一个匹配项的每个人。我只想列出包含所有属性的人 MATCH (p:Person)-[l:LIKES]->(f:Food) WHERE f.name in ["Spaghetti","Cheese","Chicken","Eggs"] RETURN p 结果:只向喜欢意大利面条、奶酪、鸡肉、鸡蛋的人展示,我们有一篇知识库文章,可以解决这个问题 适用于您的案例,以下是您可以使用的方法之一:

我是neo4j的新手,我正在努力构建一个简单的过滤器

我到处玩,找到了in操作符,但它只列出了至少找到一个匹配项的每个人。我只想列出包含所有属性的人

MATCH (p:Person)-[l:LIKES]->(f:Food) WHERE f.name in ["Spaghetti","Cheese","Chicken","Eggs"]
RETURN p

结果:只向喜欢意大利面条、奶酪、鸡肉、鸡蛋的人展示,

我们有一篇知识库文章,可以解决这个问题

适用于您的案例,以下是您可以使用的方法之一:

WITH ["Spaghetti","Cheese","Chicken","Eggs"] as foods
MATCH (p:Person)-[:LIKES]->(f:Food) 
WHERE f.name in foods
WITH p, foods, count(f) as foodsLiked
WHERE foodsLiked = size(foods)
RETURN p