我正在尝试使用密码创建查询,以“查找”厨师可能缺少的食材,我的图形设置如下:
(ingredient_value)-[:is_part_of]->(ingredient)
(ingredient)
的键/值将为name =“ dye colors”。 (ingredient_value)
可能具有键/值value =“ red”,并且“是”的一部分(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来完成的事情,还是可以通过返回所有成分并自己对它们进行分类来最好地处理?
奖励:还有一种方法可以使用密码将厨师拥有的所有值与食谱所需的所有值进行匹配。到目前为止,我只返回了由a返回的所有部分匹配项,chef-[:has_value]->ingredient_value<-[:requires_value]-recipe
并且自己汇总了结果。