Estoy intentando crear una consulta utilizando cifra que "encontrar" ingredientes faltantes que un chef podría tener, Mi gráfico está configurado de este modo:nodo de retorno si la relación no está presente
(ingredient_value)-[:is_part_of]->(ingredient)
(ingredient)
sería tener una clave/valor de name = "colorear colores". (ingredient_value)
podría tener una clave/valor de value = "red" y "es parte de" (ingredient, name="dye colors")
.
(chef)-[:has_value]->(ingredient_value)<-[:requires_value]-(recipe)-[:requires_ingredient]->(ingredient)
estoy usando esta consulta para obtener toda la ingredients
, pero no sus valores reales, que requiere una receta, pero me gustaría que el retorno sólo el ingredients
que el chef no tiene, en lugar de toda la ingredientes que cada receta requiere. Intenté
(chef)-[:has_value]->(ingredient_value)<-[:requires_value]-(recipe)-[:requires_ingredient]->(ingredient)<-[:has_ingredient*0..0]-chef
pero esto no devolvió nada.
¿Esto es algo que se puede lograr mediante cypher/neo4j o es algo que se maneja mejor devolviendo todos los ingredientes y clasificándolos?
Bonificación: También hay una manera de utilizar el cifrado para que coincida con todos los valores que un chef tiene para todos los valores que requiere una receta. Hasta ahora solo he devuelto todas las coincidencias parciales devueltas por chef-[:has_value]->ingredient_value<-[:requires_value]-recipe
y agregando los resultados yo mismo.
Marque aquí para obtener información relevante para v3: http://stackoverflow.com/questions/25673223/finding-nodes-that-do-not-have-specific- relationship-cypher-neo4j – Maciej