【问题标题】:neo4j 2.0 not creating node but running successfullyneo4j 2.0 未创建节点但运行成功
【发布时间】:2013-06-13 16:58:29
【问题描述】:

运行 Neo4j 2.0 企业实例。使用 lib 目录中的 jar 来运行这个 groovy 脚本

import org.neo4j.graphdb.GraphDatabaseService
import org.neo4j.graphdb.ResourceIterable
import org.neo4j.graphdb.Transaction
import org.neo4j.graphdb.factory.GraphDatabaseFactory
import org.neo4j.kernel.EmbeddedGraphDatabase
import org.neo4j.tooling.GlobalGraphOperations
import org.neo4j.graphdb.Node

String DB_PATH = "/Users/afrieden/Neo4j/neo4j-enterprise-2.0.0-M03/"
GraphDatabaseService graphDb = new EmbeddedGraphDatabase(DB_PATH)

Transaction tx = graphDb.beginTx()
try {
   Node runNode = graphDb.createNode()
   println("we made it!")
   tx.success()
}
finally{
  tx.finish()
}
graphDb.shutdown()

运行成功,输出“我们成功了”。但是,当我进入我的 webadmin 密码控制台并运行

START n=node(*) RETURN n;

我只得到起始节点,其中没有任何内容。是否有任何地方可以找到它窒息的日志?谢谢!

【问题讨论】:

    标签: java neo4j cypher node-neo4j


    【解决方案1】:

    原来他们没有指向同一个地方。同样在 2.0 中,如果您在两个不同的地方运行嵌入式模式,它不会对您大惊小怪,但它不会更新数据库。我让 webadmin 运行,脚本在它上面运行。

    【讨论】:

    • 2 个不同的地方是什么意思?您的意思是嵌入式指向网络管理员指向的位置以外的其他地方?这就是 Neo4j 的重点,它不绑定到任何一个位置,但是您可以将任何嵌入的目录指向一个目录,它就可以在那里工作。
    • 我的意思是两个地方都在尝试使用嵌入式数据库,当第二个地方尝试访问它时它没有抛出错误。
    • 哦。如果正确,我相信这应该作为一个错误提出,因为 Neo4j,至少从 1.9 版开始,锁定文件,不允许其他任何东西获取它们,并且 Neo4j 应该抛出错误。如果可以,您应该在他们的 GitHub 帐户上打开错误报告。
    • 它似乎锁定了它(不更新数据)但在 1.9 中它会抛出一个错误,说您无法访问这些文件。
    • 没错。这可能是当前 2.0 里程碑中的一个错误,这就是为什么我认为最好与他们一起开票。
    【解决方案2】:

    确保您的网络管理员指向与您代码中的 DB_PATH 相同的位置。您可以在 neo4j 目录的 conf/neo4j-server.properties 中找到 Web Admin 属性

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-04-07
      • 1970-01-01
      • 2013-04-28
      • 2015-11-07
      相关资源
      最近更新 更多