我试图创建一个查询使用密码,将“找到”缺失的配料,厨师可能有,我的图表是这样设置的:
(ingredient_value)-[:is_part_of]->(ingredient)
(ingredient)
的键/值为 name = “ color”。(ingredient_value)
的键/值可以为 value = “ red”,并且“ is part of”为 (ingredient, name="dye colors")
。
(chef)-[:has_value]->(ingredient_value)<-[:requires_value]-(recipe)-[:requires_ingredient]->(ingredient)
我使用这个查询来获取菜谱所需的所有 ingredients
,但不是它们的实际值,但是我希望只返回厨师没有的 ingredients
,而不是每个菜谱所需的所有原料。我尽力了
(chef)-[:has_value]->(ingredient_value)<-[:requires_value]-(recipe)-[:requires_ingredient]->(ingredient)<-[:has_ingredient*0..0]-chef
但是没有任何回报。
这是可以通过 Cypher/neo4j 实现的,还是可以通过返回所有成分并自己对它们进行分类来最好地处理的?
另外,还有一种方法可以使用密码将厨师拥有的所有值与菜谱所需的所有值进行匹配。到目前为止,我只返回了由 chef-[:has_value]->ingredient_value<-[:requires_value]-recipe
返回的所有部分匹配并自己聚合结果。