我已经能够使用批量插入运行neo4j scala示例而没有任何问题。但是,当我尝试在没有不安全的批量插入器的情况下创建节点时,我没有错误但没有插入。
这是示例代码
private def insertNodes(label:String, data: Iterator[Map[String, String]]) = {
val dynLabel: Label = DynamicLabel.label(label)
val graphDb = new GraphDatabaseFactory().newEmbeddedDatabase(DB_PATH)
registerShutdownHook( graphDb )
val tx = graphDb.beginTx()
for (item <- data) {
val node: Node = graphDb.createNode(dynLabel)
node.setProperty("item_id", data("item_id"))
node.setProperty("title", data("title"))
}
tx.success
graphDb.shutdown()
}
答案 0 :(得分:0)
您必须提交交易。我不确定正确的scala语法,但你需要类似的东西:
val tx = graphDb.beginTx()
try {
for (item <- data) {
val node: Node = graphDb.createNode(dynLabel)
node.setProperty("item_id", data("item_id"))
node.setProperty("title", data("title"))
}
tx.success
} catch {
case e: Exception => tx.failure
} finally {
tx.close
}