【问题标题】:Neo4j - Browser Visualization ErrorNeo4j - 浏览器可视化错误
【发布时间】:2015-02-08 19:55:12
【问题描述】:

我正在尝试为 Neo4j 使用“Hello World”。问题是当我启动服务器并检查 neo4j 的浏览器 (localhost:7474) 时,我看不到我的节点的任何图形可视化。

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 的内置浏览器。 我应该如何进行?

提前致谢。

【问题讨论】:

    标签: java neo4j


    【解决方案1】:

    必须关闭服务器,然后创建数据,然后再次启动服务器,您不能同时使用来自两个数据库进程的相同数据目录。

    你的 DB_PATH 也是错误的,你不能在里面放星星。

    【讨论】:

    • 撇开 db_path (我把星号作为 SO 中的通用名称放在这里),我按照你的建议做了。似乎 db 正在工作,但仍然没有我的节点的视觉表示。 :S
    • 您必须运行查询才能看到您的节点。但前提是您执行上述操作。
    • 我做了上述操作,并尝试使用 neo4j 默认为所有节点提供的 MATCH n RETURN n LIMIT 25。我得到了 0 作为回报,即使节点设置正确。
    • 我删除了所有内容并通过自制软件重新安装了neo4j(我以前也使用过),现在它可以工作了!感谢您的帮助。
    猜你喜欢
    • 2018-07-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-15
    • 2017-10-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多