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

时间:2014-03-30 23:52:33

标签: java neo4j

我正在使用Neo4J REST API处理分离的请求:

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

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

1 个答案:

答案 0 :(得分:4)

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

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

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

TL; DR版本:/ db / data / cypher可能是您要发出请求的端点。

Cypher查询本身也应该非常简单;类似的东西:

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

...当然如果你需要做多个这样的插入,也许查看批处理操作可能不是一个坏主意,特别是如果你的Cypher查询太长了(查看Transactional HTTP端点了解更多信息) ;它很简单。)

希望这有帮助!

相关问题