场景: graph image
李四已经额定2层的成分,这些成分的2碰巧属于汤秘方,只有1到比萨饼。查询应返回汤食谱,因为这些成分的收视率平均为> 5Neo4j的暗号建议
我有什么: 我开始用下面的查询:
MATCH(:主题{REF: 1} ) - [ir:INGREDIENT_RATING] - >(:Ingredients)< - [:HAS_INGREDIENT] - (r:Recipe) WHERE ir.value> 5 return r;
我想发生: 这将返回食谱,在某种成分具有高于等级5,但这并不考虑到该配方中的其它成分可以有由用户给予较低评级。
所以我必须展开上面的查询,但我有点无知从哪里开始。
由于提前,
更新1: 基于@InverseFalcon我这来了,这给了我我所期望的结果:
MATCH(:主题{REF:“ (r) - [HAS_INGREDIENT] - >(k:Kitchen)
MATCH(r) - [HAS_INGREDIENT] - [ir:INGREDIENT_RATING] - >(i:Ingredient) - [:HAS_INGREDIENT] - (in:成分)
WITH r,k,in,sum(ir.value)AS sum
WHERE总和> 10
RETURN DISTINCT R,收集(在DISTINCT)AS成分,K作为厨房,总和
ORDER BY总和DESC
第二匹配是因为没有它,它仅与一个返回成分评级,我需要所有人。
只有一个奇怪的是,我得到一个重复的结果,即使很难我使用r。
我不确定你在问什么。请提供一些数据示例以及您期望返回的内容。 – betseyb
@betseyb我用图像和更好的描述更新了场景。希望最好能够理解我试图完成的事情。 – Edwin