Neo4j可视化和检索数据

时间:2015-11-27 11:59:09

标签: java maven neo4j

开始使用嵌入我的JAVA Web服务器的Neo4j。保存数据时,事务成功,但无法通过浏览器可视化数据。

tutorial尝试了样本Hello世界。并安装了neo4j社区版,指向数据库并导航到http://localhost:7474/browser/后,我看不到任何数据。

此外,当我停止应用程序并通过Java运行Cypher查询时没有获取任何数据。

使用Maven依赖

        <dependency>
            <groupId>org.neo4j</groupId>
            <artifactId>neo4j</artifactId>
            <version>2.3.1</version>
        </dependency>

编写示例代码

try {
   Transaction tx = graphDb.beginTx();
   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 " );
   tx.success();
}

嵌入式和服务器的DB路径相同。

1 个答案:

答案 0 :(得分:2)

我不知道问题的确切根源。但我有清单,应该进行验证。

1)您的应用程序和Neo4j服务器应该使用相同的数据库。当您通过GraphDatabaseFactory创建嵌入式数据库时,您正在指定数据库位置。应在conf/neo4j-server.properties文件(org.neo4j.server.database.location选项)中为Neo4j服务器指定相同的数据库位置。

2)您应该 NOT 在服务器和应用程序中同时使用数据库。数据库一次只能由一个Neo4j实例使用。

3)对事务使用try-with-resource语法。它在Java7及更高版本中可用。例如:

try (Transaction tx = db.beginTx()) {
    // do stuff 
    tx.success();
}

这样,事务总是会在任何情况下都被关闭(即使在执行期间发生异常,或者在beginTx()中)。

4)确保以“干净的方式”关闭数据库。在应用程序中,可以通过db.shutdown()方法完成。可以通过bin/neo4j stop停止服务器。