2009-07-10 7 views
5

J'ai lu le documentation pour neo4j et c'est components et j'ai encore à trouver des fonctionnalités qui me permettent d'interroger le nombre total de primitives (nœuds, relations et propriétés) dans le graphique. Est-ce que cette fonctionnalité existe quelque part ou est-ce que je vais devoir écrire du code qui parcourt tout le graphique en cours?Comptage des primitives dans Neo4j

Répondre

7

Merci pour la question! Je fais partie de l'équipe Neo4j et nous avons actuellement des outils commerciaux qui rapportent ce type d'information. Cependant, une extension de l'API est prévue pour la prochaine version open source. Pour le moment, vous pouvez utiliser l'API non officielle suivante:

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

où la classe serait Node.class, Relationship.class ou PropertyStore.class.

+0

Merci, a été très utile, mais ne devrait pas getNodeModule() être getNeoModule() –

+0

Oops, merci de le souligner! J'ai mis à jour l'exemple de code. – nawroth

+2

Ceci est maintenant documenté dans la FAQ Neo4j: http://wiki.neo4j.org/content/FAQ#How_can_I_get_the_total_number_of_nodes_and_relationships_currently_in_Neo4j.3F – nawroth

1

Cela a fonctionné pour moi:

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)