Je n'arrive pas à accéder aux bases de données créées précédemment dans la version Java intégrée de Neo4j. Ce que je voudrais faire est d'ouvrir un GraphDatabaseService, d'ajouter plusieurs millions de relations (n'utilisant pas BatchInserter, seules les transactions), puis d'arrêter la dernière transaction et la connexion. Cela ressemblerait à quelque chose comme:Neo4j Interrogation de données sur plusieurs sessions
public class startNeo4j{ …
public static void main (String[] args) {
GraphDatabaseService graphDb = new EmbeddedGraphDatabase("data/test/base");
Transaction tx = graphDb.beginTx();
IndexManager index = graphDb.index();
Index<Node> userIds = index.forNodes("userIds");
RelationshipIndex follows = index.forRelationships("follows");
[ici, je entrée un très grand csv (plusieurs millions de relations), donnant aussi des indices de relations et userId]
tx.finish();
graphDb.shutdown(); }}
Ce que je dois alors être en mesure de le faire ouvre un nouveau GraphDatabaseService et accède à toutes les données que je viens d'insérer. J'ai vérifié avec la liste Neo4j et ils ont confirmé que c'est possible, mais n'ont fourni aucun détail.
Je ne veux pas recréer l'index, mais quand j'essaye de le rouvrir simplement, j'obtiens une erreur où l'index (userIds d'en haut) "ne peut pas être résolu." Idéalement, si quelqu'un avait un aperçu de ce que le deuxième ensemble de code ressemblerait, ce serait génial. Mon un non fonctionnel ressemble:
public class examineNeo4j{
public static void main (String[] args){
GraphDatabaseService graphDb = new EmbeddedGraphDatabase("data/test/base");
Transaction tx = graphDb.beginTx();
IndexHits<Node> hits_final = userIds.get("userId","12");
Node testthis = hits_final.getSingle();
[ou une autre requête que je veux courir]
tx.finish();
graphDb.shutdown();}}
Toute aide serait grandement appréciée!