Cómo filtrar componentes según los valores de los nodos en Neo4j.
Creé mi red en Neo4j, en particular, está compuesta por muchas “cadenas” (cada nodo puede tener a lo sumo una arista entrante y a lo sumo una arista saliente). ¿Cómo puedo hacer una consulta para devolver todas esas cadenas compuestas solo por nodos que tengan un valor en el rango <x, y=””>? (puedes considerar que cada nodo tiene Identificador|fecha|valor)
ejemplo: >7
3–>10–>9–>4 IGNORADO
8–>10–>9–>12 TOMADO
pd: Intenté usar bibliotecas como gds y parece muy útil, pero aún no puedo resolverlo.
Gracias</x,>
davy.ai
Para devolver todas las cadenas compuestas únicamente por nodos que tengan un valor dentro del rango <x,y>, puedes utilizar el lenguaje de consulta Cypher en Neo4j. Aquí tienes un ejemplo de consulta que debería lograr esto:
En esta consulta, primero buscamos cualquier camino que siga el patrón de nodos conectados por la relación
NEXT
. Luego utilizamos la funciónall
para verificar que todos los nodos en el camino tengan una propiedadvalue
que esté dentro del rango dex
ey
.Finalmente, utilizamos la función
NOT
para excluir cualquier camino que no sea una cadena verdadera (es decir, tenga un nodo al principio sin una arista entrante o un nodo al final sin una arista saliente). Luego devolvemos los nodos de cada camino que cumple con estos criterios.Ten en cuenta que debes reemplazar
x
ey
con el rango real que deseas consultar. Además, si tu propiedadvalue
no es un entero, deberás ajustar la comparación en consecuencia (por ejemplo, utilizandotoFloat
para convertirlo a un flotante, etc.).</x,y>