2009-07-10 33 views
5

He estado leyendo documentation para neo4j y es components y todavía tengo que encontrar una funcionalidad que me permita consultar el número total de primitivas (nodos, relaciones y propiedades) en el gráfico. ¿Esta funcionalidad existe en alguna parte o tendré que escribir un código que atraviese todo el recuento de gráficos a medida que avanza?Counting primitives en Neo4j

Respuesta

7

Gracias por la pregunta! Estoy en el equipo de Neo4j, y actualmente tenemos herramientas comerciales que informan sobre este tipo de información. Sin embargo, una extensión de la API está programada para la próxima versión de código abierto. Por el momento, se puede utilizar la siguiente API no oficial:

EmbeddedNeo.getConfig().getNeoModule().getNodeManager().getNumberOfIdsInUse(Class) 

donde la clase sería Node.class, Relationship.class o PropertyStore.class.

+0

Gracias, fue muy útil, pero no debe getNodeModule() ser getNeoModule() –

+0

Vaya, gracias por señalarlo! Actualicé la muestra del código. – nawroth

+2

Esto ahora está documentado en las preguntas más frecuentes de Neo4j: http://wiki.neo4j.org/content/FAQ#How_can_I_get_the_total_number_of_nodes_and_relationships_currently_in_Neo4j.3F – nawroth

1

Esto funcionó para mí:

import org.neo4j.kernel.impl.nioneo.store.PropertyStore 

graph.getConfig().getGraphDbModule().getNodeManager().getNumberOfIdsInUse(Node.class); 
graph.getConfig().getGraphDbModule().getNodeManager().getNumberOfIdsInUse(Relationship.class); 
graph.getConfig().getGraphDbModule().getNodeManager().getNumberOfIdsInUse(PropertyStore.class)