Ich versuche, eine Abfrage mit Chiffre zu erstellen, die „Find“ fehlende Zutaten, die ein Koch haben könnte, ist mein Graph wie so ein:Return Knoten, wenn Beziehung nicht vorhanden ist
(ingredient_value)-[:is_part_of]->(ingredient)
(ingredient)
würde habe einen Schlüssel/Wert von name = "dye colors". (ingredient_value)
könnte einen Schlüssel/Wert von Wert = "rot" haben und "ist Teil von" (ingredient, name="dye colors")
.
(chef)-[:has_value]->(ingredient_value)<-[:requires_value]-(recipe)-[:requires_ingredient]->(ingredient)
Ich verwende diese Abfrage alle ingredients
zu bekommen, aber nicht ihre tatsächlichen Werte, dass ein Rezept erfordert, aber ich würde die Rückkehr möchte nur die ingredients
, dass der Koch nicht hat, statt den ganzen Zutaten, die jedes Rezept benötigt. Ich versuchte
(chef)-[:has_value]->(ingredient_value)<-[:requires_value]-(recipe)-[:requires_ingredient]->(ingredient)<-[:has_ingredient*0..0]-chef
, aber dies ergab nichts.
Ist dies etwas, das mit cypher/neo4j erreicht werden kann, oder ist das etwas, das am besten gehandhabt wird, indem alle Zutaten zurückgegeben und durch sie selbst sortiert werden?
Bonus: Es gibt auch eine Möglichkeit, Chiffre zu verwenden, um alle Werte, die ein Koch hat, mit allen Werten zu vergleichen, die ein Rezept benötigt. Bis jetzt habe ich nur alle Teiltreffer zurückgegeben, die von einer chef-[:has_value]->ingredient_value<-[:requires_value]-recipe
zurückgegeben werden und die Ergebnisse selbst aggregieren.
hier prüft relevante Informationen v3: http://stackoverflow.com/questions/25673223/finding-nodes-that-do-not-have-specific- Beziehung-Chiffre-Neo4j – Maciej