Conteo y operaciones en cifrado Neo4j

Estoy intentando una consulta, como esta:

MATCH (g:GNE)-[:like]->(c:CLUSTER)<-[:Belong]-(h:GNE) 
WHERE g.sym = 'ST1' AND count(c) >=4  
RETURN h.sym, count(c) AS score, collect(c.clustInfo), h.chr ORDER BY score DESC 

pero la expresión 'count(c) >= 4' no funciona... ¿Alguna sugerencia?

preguntado Oct 07 '14, 14:10

1 Respuestas

No puede usar agregados directamente en una cláusula WHERE como esa, necesita usar CON para crear una nueva variable para probar en condiciones posteriores. Su consulta se convierte en algo como:

MATCH (g:GNE{sym:"ST1"})-[:like]->(c:CLUSTER)<-[:Belong]-(h:GNE) 
WITH h, COUNT(c) AS score, COLLECT(c.clusterInfo) AS info
ORDER BY score DESC
WHERE score >= 4
RETURN h.sym, score, info, h.chr

Respondido 07 Oct 14, 14:10

¡Muchas gracias! Me gustaría AGREGAR el siguiente patrón en esta oración: otros nodos que están relacionados con los nodos CLUSTER y son comunes en todos los clústeres. Algo como esto: (c:CLUSTER)-[:has]-(v:ORTH) donde v.Term son iguales en todos los CLUSTER. ¡Gracias de nuevo! - quelopes

Hola @quelopes, eso debe hacerse como una nueva pregunta. ¡Buena suerte! - JuanMark13

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.