Sto cercando di creare una query utilizzando la crittografia che "troverà" gli ingredienti mancanti che uno chef potrebbe avere, il mio grafico è impostato in questo modo:
(ingredient_value)-[:is_part_of]->(ingredient)
(ingredient)
avrebbe una chiave / valore di name = "dye colors". (ingredient_value)
potrebbe avere una chiave / valore di valore = "rosso" e "fa parte di" (ingredient, name="dye colors")
.
(chef)-[:has_value]->(ingredient_value)<-[:requires_value]-(recipe)-[:requires_ingredient]->(ingredient)
Sto usando questa query per ottenere tutti i ingredients
valori, ma non i loro effettivi, richiesti da una ricetta, ma vorrei restituire solo quello ingredients
che lo chef non ha, invece di tutti gli ingredienti richiesti da ciascuna ricetta. Provai
(chef)-[:has_value]->(ingredient_value)<-[:requires_value]-(recipe)-[:requires_ingredient]->(ingredient)<-[:has_ingredient*0..0]-chef
ma questo non ha restituito nulla.
È qualcosa che può essere realizzato da cypher / neo4j o è qualcosa che è meglio gestito restituendo tutti gli ingredienti e sistemandoli io stesso?
Bonus: esiste anche un modo per utilizzare la cifratura per abbinare tutti i valori che uno chef ha a tutti i valori richiesti da una ricetta. Finora ho restituito solo tutte le corrispondenze parziali restituite da a chef-[:has_value]->ingredient_value<-[:requires_value]-recipe
e aggregando i risultati da solo.