Я видел множество примеров того, как моделировать Рецепт / Ингредиенты в графической базе данных, но я застрял на том, как запросить все вложенные ингредиенты рецепта, когда некоторые из этих ингредиентов должны быть произведены по рецепту.
Я использую Neo4j / cypher
Моя текущая модель:
(Recipe)-[:PRODUCES]->(Item)
(Recipe)-[:REQUIRES]->(Item)
Если Предмет не может быть создан по рецепту, вложенность для этого пути закончилась.
В качестве примера приведен Рецепт, который: ПРОИЗВОДИТ "Чизбургерную еду": ТРЕБУЕТ пунктов "Чизбургер" и "Картофель фри"; для каждого из предметов может быть рецепт, который: ПРОИЗВОДИТ его; например, Рецепт, который: ПРОИЗВОДИТ "Фри", также: ТРЕБУЕТ пунктов "Соль" и "Картофель". Запрос должен возвращать «Чизбургер», «Картофель фри», «Соль», «Картофель»
Предложения, в том числе перемоделирование данных, приветствуются.