J'essaie de créer une requête en utilisant un chiffrement qui «trouvera» les ingrédients manquants qu'un chef pourrait avoir, mon graphique est configuré comme suit:
(ingredient_value)-[:is_part_of]->(ingredient)
(ingredient)
aurait une clé / valeur de nom = "couleurs de teinture". (ingredient_value)
pourrait avoir une clé / valeur de valeur = "rouge" et "fait partie de" le (ingredient, name="dye colors")
.
(chef)-[:has_value]->(ingredient_value)<-[:requires_value]-(recipe)-[:requires_ingredient]->(ingredient)
J'utilise cette requête pour obtenir toutes les ingredients
valeurs, mais pas leurs valeurs réelles, requises par une recette, mais je voudrais le retour uniquement de ce ingredients
que le chef n'a pas, au lieu de tous les ingrédients requis par chaque recette. j'ai essayé
(chef)-[:has_value]->(ingredient_value)<-[:requires_value]-(recipe)-[:requires_ingredient]->(ingredient)<-[:has_ingredient*0..0]-chef
mais cela ne retourna rien.
Est-ce quelque chose qui peut être accompli par cypher / neo4j ou est-ce quelque chose qui est mieux géré en retournant tous les ingrédients et en les triant moi-même?
Bonus: il existe également un moyen d'utiliser le chiffrement pour faire correspondre toutes les valeurs d'un chef à toutes les valeurs requises par une recette. Jusqu'à présent, je n'ai renvoyé que toutes les correspondances partielles renvoyées par a chef-[:has_value]->ingredient_value<-[:requires_value]-recipe
et j'ai agrégé les résultats moi-même.