当在neo4j中从java创建节点时,我看不到neo4j中的节点

时间:2014-07-26 01:41:40

标签: neo4j

我是neo4j的新手,我正在努力学习,

我有以下用于在neo4j中创建节点的java代码,然后我在java中读取了创建节点的属性名称,我的代码如下:

String DB_PATH = "C:/hamed";
 public static void main( String[] args )
{
    JavaQuery javaQuery = new JavaQuery();
    javaQuery.run();
}

void run()
{

    // START SNIPPET: addData
    GraphDatabaseService db = new GraphDatabaseFactory().newEmbeddedDatabase( DB_PATH );
    db.beginTx();
    try ( Transaction tx = db.beginTx(); )
    {
        Node myNode = db.createNode();
        myNode.addLabel(  DynamicLabel.label( "11" ) );
        myNode.setProperty( "name", "qq" );
        tx.success();

    }
    // END SNIPPET: addData

   // START SNIPPET: execute
    ExecutionEngine engine = new ExecutionEngine( db );

    ExecutionResult result;
    try ( Transaction ignored = db.beginTx() )
    {
        result = engine.execute( "match (n) return n, n.name" );
        // END SNIPPET: execute
        // START SNIPPET: items
        Iterator<Node> n_column = result.columnAs( "n" );
        for ( Node node : IteratorUtil.asIterable( n_column ) )
        {
            // note: we're grabbing the name property from the node,
            // not from the n.name in this case.
            nodeResult = node + ": " + node.getProperty( "name" );
            System.out.println("ss : "+nodeResult);
        }
        // END SNIPPET: items
          db.shutdown();
    }

和system.out ...打印ss:节点1:qq这是好的,

现在我运行neo4j如下:

enter image description here

然后我转到这个链接:

http://localhost:7474/webadmin/

然后当我编写查询以检查节点时,没有任何返回:

enter image description here

但我希望看到一个名为property qq

的节点 谁能帮助我吗?我做错了什么?

更新

我强调代码只从db中删除所有节点。例如我创建了一个节点并使用neo4j控制台进行检查:match(n)返回n并返回节点但运行后代码没有返回,这很奇怪!!!!!!!!!!

2 个答案:

答案 0 :(得分:1)

所有数据库交互都在单个事务中运行,这种事务永远不会成功(),因此当应用程序完成时它会回滚。

这是由您在创建数据库的行之后立即放置的附加db.beginTx()引起的,即此代码段中的第二行:

GraphDatabaseService db = new GraphDatabaseFactory().newEmbeddedDatabase( DB_PATH );
db.beginTx();
try ( Transaction tx = db.beginTx(); )

删除db.beginTx();行,你会没事的。

答案 1 :(得分:0)

在您查看服务器时,您是否偶然没有关闭java中的图形数据库? 我在代码中没有看到任何db.shutdown()

一次只能有一个进程访问数据库目录。

相关问题