有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何在一个请求中执行多个事务

我使用Neo4J REST API在单独的请求中执行以下操作:

  • 请求1-创建用户节点(并获取节点id)
  • 请求2-将用户标签添加到已创建的节点
  • 请求3-创建图片节点(并获取节点id)
  • 请求4-向创建的节点添加图片标签
  • 请求5-在具有已创建id的节点之间创建关系

有没有办法在一个请求中执行所有这些操作


共 (1) 个答案

  1. # 1 楼答案

    可能最简单的方法是创建一个单独的密码查询,将所有内容组合到一个请求中。请记住,如果只是在密码查询期间对其进行操作,则不需要节点ID

    您可以使用Cypher端点或事务HTTP端点。在这种情况下,可能最容易使用Cypher端点(这里唯一的区别是Cypher端点在请求结束时自动尝试提交事务,而事务性HTTP端点可以跨越多个请求,即使它仍然可以用于单个请求)

    http://docs.neo4j.org/chunked/stable/rest-api-cypher.html有很多关于Cypher端点的信息,http://docs.neo4j.org/chunked/stable/rest-api-transactional.html有很多关于事务性HTTP端点的信息

    TL;DR version:/db/data/cypher可能是您要针对其发出请求的端点

    密码查询本身也应该非常简单;比如:

    CREATE (u:User)-[:REL_TYPE]->(p:Picture)
    

    。。。当然,如果您需要执行多个这样的插入,那么查看批处理操作可能不是个坏主意,尤其是如果您的Cypher查询太长(查看事务性HTTP端点了解更多信息;这非常简单)

    希望这有帮助