graph neo4j cypher gremlin

graph - cypher collect



consulta de grado de nodo en Neo4j con gran gráfico(millones de nodos y enlaces) (2)

De hecho, es una operación global muy costosa. En este caso, es mejor utilizar una extensión no administrada que use GlobalGraphOperations.getAllRelationships . Durante iterar todas las relaciones, construye un Mapa e incrementa el contador para el nodo inicial y final de cada relación. El paso final es encontrar el máximo dentro de tu mapa.

¿Cómo puedo obtener el grado de cada nodo en Neo4j, y luego averiguar qué nodo tiene el mayor grado en un gráfico muy grande (2 millones de nodos y 5 millones de relaciones)?

Sé que puedo usar Cypher o Gremlin para lograr eso, como:

start n = node(*) match (n)--(c) return n, count(*) as connections order by connections dsec

o

g.V.bothE

pero la RAM que tiene mi computadora es solo 2G ~ 4G, siempre espero mucho tiempo y me pongo "indefinido" cuando publico la consulta de arriba ...

¿alguien tiene alguna experiencia en la consulta de un gráfico tan grande en neo4j con gremlin o cypher?


Para el mayor grado, también debe limitar el resultado, por lo que el cifrado solo tendrá que mantener los 10 primeros resultados.

START n = node(*) MATCH (n)--(c) RETURN n, count(*) as connections ORDER BY connections DESC LIMIT 10

O podrías hacer:

START n = node(*) RETURN n, length((n)--(c)) as connections ORDER BY connections DESC LIMIT 10

De lo contrario, estoy de acuerdo con Stefan.