使用Cypher在嵌入式Neo4J应用程序中创建节点

马诺埃尔·里贝罗(Manoel Ribeiro)

我正在将系统与neo4j集成在一起,使用Cypher查询语言创建节点对我来说很有趣,因此,作为测试,我正在尝试执行以下操作:

String path = "test.graphdb";

AbstractDatabase db = new Neo4jDatabase(path, true, false);

db.makeQuery("CREATE (n:Dog {name:'Sofia'})");
db.makeQuery("CREATE (n:Dog {name:'Laika'})");     db.makeQuery("CREATE (n:Dog {name:'Gaia'})");

Result result = db.makeQuery("MATCH (n:Dog) RETURN n");

boolean hasNext = result.hasNext();

System.out.println(hasNext);

在Neo4jDatabase类的内部,我有这个makeQuery方法,它像这样:

public Result makeQuery(String string)
{
    try(Transaction ignored = this.db.beginTx();
        Result result = this.db.execute(string) )
    {
        return result;
    }

}

不幸的是,它返回false,就好像尚未创建节点一样!怎么了?

迈克尔·汉格

您自己说,您忽略交易:)

tx.success()成功遍历结果后,应该调用事务块。

当您已经关闭事务时,请勿分发结果,因为其中的数据将无法在tx外部访问。

对于这些简单的语句,您也可以将tx处理留给cypher,而无需启动手动交易。

但是您必须迭代或result.close()结果才能完成Cypher操作。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

neo4j 3.0嵌入式-无节点

通过Neo4j嵌入式Java中的ID获取节点或关系

嵌入式Neo4j:使用图算法过滤节点属性

关系已创建但未存储在嵌入式 neo4j 中

使用Spring Boot和嵌入式驱动程序测试Neo4j

使用嵌入式驱动程序时,将过程部署到Neo4J

执行Neo4j Cypher Query(通过Java)嵌入式模式时出错

如何使用反应式驱动程序连接到 Neo4J 嵌入式实例?

从独立的Neo4j db中获取大量数据到嵌入式Neo4j db中?

嵌入式Neo4j需要哪些jar?

配置嵌入式Neo4j以运行APOC程序

哪个Neo4j Clojure库可用于嵌入式Neo4j?

在Java中将Neo4j Shell连接到嵌入式Neo4j

将插件加载到 Neo4j 数据库的嵌入式版本中

在Spring中为HighlyAvailableGraphDatabase配置Neo4j 1.9.3(嵌入式)

嵌入式数据库neo4j中按长度排序路径

在嵌入式Neo4j中设置keep_logical_logs

在GWT中使用嵌入式Neo4j时出现AccessControlException

如何在嵌入式neo4j中使用“apoc.util.md5”

在Java的neo4j嵌入式数据库中,如何检查两个节点是否相互关联?

使用Postman工具在Neo4j中创建节点

使用Python驱动程序在Neo4j中创建多个节点的最佳方法

带有Neo4j 3.0的Spring Data Neo4j 4:如何将配置传递给嵌入式驱动程序?

使用Cypher在Neo4j中的两个节点之间创建相同类型的多个关系

如何使用Cypher删除neo4j中两个克隆节点中的节点

Neo4j Cypher-使用LOAD CSV创建节点并设置标签

Neo4j 在 Cypher 中通过 WITH 传递不同的节点

neo4j cypher:查询结果中的“堆叠”节点

Java Web应用程序中的嵌入式Derby