2015-02-08 3 views
0

Я пытаюсь использовать «Hello World» для Neo4j. Проблема в том, что когда я загружаю сервер и проверяю браузер neo4j (localhost: 7474), я не вижу графической визуализации моих узлов.Neo4j - Ошибка визуализации браузера

import java.io.File; 

import org.neo4j.graphdb.Direction; 
import org.neo4j.graphdb.GraphDatabaseService; 
import org.neo4j.graphdb.Node; 
import org.neo4j.graphdb.Relationship; 
import org.neo4j.graphdb.RelationshipType; 
import org.neo4j.graphdb.Transaction; 
import org.neo4j.graphdb.factory.GraphDatabaseFactory; 

public class MyFirstMain 
{ 
    private static final String DB_PATH = "/neo4j/data/graph.db"; 

    public String greeting; 

    // START SNIPPET: vars 
    GraphDatabaseService graphDb; 
    Node firstNode; 
    Node secondNode; 
    Relationship relationship; 
    // END SNIPPET: vars 

    // START SNIPPET: createReltype 
    private static enum RelTypes implements RelationshipType 
    { 
     KNOWS 
    } 
    // END SNIPPET: createReltype 

    public static void main(final String[] args) 
    { 
     MyFirstMain hello = new MyFirstMain(); 
     hello.createDb(); 
//  hello.removeData(); 
//  hello.shutDown(); 
    } 

    void createDb() 
    { 
     // START SNIPPET: startDb 
     graphDb = new GraphDatabaseFactory().newEmbeddedDatabase(DB_PATH); 
     registerShutdownHook(graphDb); 
     // END SNIPPET: startDb 

     // START SNIPPET: transaction 
     try (Transaction tx = graphDb.beginTx()) 
     { 
      // Database operations go here 
      // END SNIPPET: transaction 
      // START SNIPPET: addData 
      firstNode = graphDb.createNode(); 
      firstNode.setProperty("message", "Hello, "); 
      secondNode = graphDb.createNode(); 
      secondNode.setProperty("message", "World!"); 

      relationship = firstNode.createRelationshipTo(secondNode, RelTypes.KNOWS); 
      relationship.setProperty("message", "brave Neo4j "); 
      // END SNIPPET: addData 

      // START SNIPPET: readData 
      System.out.print(firstNode.getProperty("message")); 
      System.out.print(relationship.getProperty("message")); 
      System.out.print(secondNode.getProperty("message")); 
      // END SNIPPET: readData 

      greeting = ((String) firstNode.getProperty("message")) 
        + ((String) relationship.getProperty("message")) 
        + ((String) secondNode.getProperty("message")); 

      // START SNIPPET: transaction 
      tx.success(); 
     } 
     // END SNIPPET: transaction 
    } 

    // START SNIPPET: shutdownHook 
    private static void registerShutdownHook(final GraphDatabaseService graphDb) 
    { 
     // Registers a shutdown hook for the Neo4j instance so that it 
     // shuts down nicely when the VM exits (even if you "Ctrl-C" the 
     // running application). 
     Runtime.getRuntime().addShutdownHook(new Thread() 
     { 
      @Override 
      public void run() 
      { 
       graphDb.shutdown(); 
      } 
     }); 
    } 
    // END SNIPPET: shutdownHook 
} 

Я НЕ хочу использовать что-либо еще, кроме встроенного браузера neo4j. Как мне продолжить?

Заранее спасибо.

ответ

0

необходимо отключить сервер, а затем создать свои данные, а затем снова запустить сервер, вы не можете использовать один и тот же каталог данных из двух процессов базы данных одновременно.

Ваш DB_PATH также ошибочен, у вас не может быть звезды.

+0

Оставляя в стороне путь db_path (где я помещал звезду как общее имя здесь, в SO), я сделал то, что вы предложили. Кажется, что db работает, но, тем не менее, визуальных представлений моих узлов нет. : S – harris21

+0

И вам нужно запустить запрос, чтобы увидеть ваши узлы. Но только если вы сделаете это. –

+0

Я сделал это и попытался использовать MATCH n RETURN n LIMIT 25, который neo4j предоставляет по умолчанию для всех узлов. Я получил 0 взамен, хотя узлы правильно настроены. – harris21