【问题标题】:Neo4j webadmin shows shows Labels, Relationships on Left side but does not list NodesNeo4j webadmin 在左侧显示标签、关系但未列出节点
【发布时间】:2014-09-15 13:58:00
【问题描述】:

我使用的是 Neo4j 2.1.2 社区版。当我将 neo4j 指向我创建的数据库并登录到 webadmin 时,它显示了我在代码中创建的关系类型和标签,但是当我尝试获取节点和关系时,它没有列出任何东西。

见附件截图。

我正在使用以下代码创建我的数据库。

import org.neo4j.graphdb.GraphDatabaseService;
import org.neo4j.graphdb.Label;
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 HelloWorld {

private GraphDatabaseService m_databaseService;
private Node m_firstNode;
private Node m_secondNode;
private Relationship m_relationship;

public static void main(String[] args) {
    new HelloWorld().startApplication();
}

private void startApplication() {
    createDatabase();
    createNodesAndrelationship();
    shutDownDB();
}

private void createDatabase() {
    m_databaseService = new GraphDatabaseFactory().newEmbeddedDatabase("E:\\ERM\\RoutingData\\neo4j");
}

private void createNodesAndrelationship() {
    Transaction tx = m_databaseService.beginTx();

    try  {

        m_firstNode = m_databaseService.createNode();
        m_firstNode.addLabel(new Label() {

            @Override
            public String name() {
                return "Demo";
            }
        });
        m_firstNode.setProperty("message", "Hello");
        System.out.println("Created First Node.");

        m_secondNode = m_databaseService.createNode();
        m_secondNode.setProperty("message", "world !");
        m_secondNode.addLabel(new Label() {

            @Override
            public String name() {
                return "Demo";
            }
        });
        System.out.println("Created Second Node.");

        m_relationship = m_firstNode.createRelationshipTo(m_secondNode, RelType.KNOWS);
        m_relationship.setProperty("message", "bravo neo4j !");
        System.out.println("Created relationship.");

        tx.success();
    } finally {

        tx.failure();
    }

    System.out.println(m_firstNode.getProperty("message").toString() + " " + m_relationship.getProperty("message") + " " + m_secondNode.getProperty("message"));
}

private void shutDownDB() {
    m_databaseService.shutdown();
    System.out.println("Database shutdown completed.");
}

private static enum RelType implements RelationshipType {
    KNOWS
}

}

请提出我做错了什么。

【问题讨论】:

    标签: neo4j web-admin


    【解决方案1】:

    您正在回滚事务而不是提交它。

    tx.failure() 替换为tx.close()

    此外,此行需要在tx.close() 调用之前移动,以避免org.neo4j.graphdb.NotInTransactionException

    System.out.println(m_firstNode.getProperty("message").toString() + " " + m_relationship.getProperty("message") + " " + m_secondNode.getProperty("message"));
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-04-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-02-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多