es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

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,>

Tags:  , , ,

Answer

  1. Avatar for 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:

    MATCH path = (n)-[:NEXT*]->(m)
    WHERE all(node in nodes(path) WHERE node.value >= x AND node.value <= y)
    AND NOT ((n)<-[:NEXT]-())
    AND NOT ((m)-[:NEXT]->())
    RETURN nodes(path)
    

    En esta consulta, primero buscamos cualquier camino que siga el patrón de nodos conectados por la relación NEXT. Luego utilizamos la función all para verificar que todos los nodos en el camino tengan una propiedad value que esté dentro del rango de x e y.

    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 e y con el rango real que deseas consultar. Además, si tu propiedad value no es un entero, deberás ajustar la comparación en consecuencia (por ejemplo, utilizando toFloat para convertirlo a un flotante, etc.).</x,y>

Comments are closed.