【问题标题】:How to handle Transaction (Rollback and Commit) in Gremlin - AWS Neptune如何在 Gremlin 中处理事务(回滚和提交) - AWS Neptune
【发布时间】:2021-06-07 07:19:25
【问题描述】:

如何在 Gremlin - AWS Neptune 中处理事务(回滚和提交)?

In a request, I have two details, <student and List[Subject]>

1. Create student vertex with properties
2. Create Edge b/w class & student
3. Create a list of subjects vertex in for loop & edge b/w subject and student.

文件说,Multiple statements separated by a semicolon (;) or a newline character (\n) are included in a single transaction.

如何在GremlinPython的单个事务中处理for loop

有什么建议/帮助吗?

【问题讨论】:

    标签: graph transactions gremlin amazon-neptune gremlinpython


    【解决方案1】:

    将 Gremlin 查询发送到服务器有 3 种主要方式。一种是纯文本。在这种情况下,您可以在查询之间使用分号,并将它们视为单个事务。第二种是使用支持以字节码形式发送查询的 Gremlin 客户端驱动程序。在这种情况下,发送的每个查询都是一个事务。第三是使用 Gremlin Sessions。在这种情况下,您创建一个会话,然后发送一个或多个查询。整个会话被视为单个事务,并且仅在您关闭会话时提交。在第三种情况下,您可以根据需要混合使用代码和查询。

    综上所述,你真的不需要使用 for 循环,你可以一次性发送所有内容。这是一个简单的例子:

    g.addV('root').property('data',9).as('root').
      addV('node').property('data',5).as('b').
      addV('node').property('data',2).as('c').
      addV('node').property('data',11).as('d').
      addV('node').property('data',15).as('e').
      addV('node').property('data',10).as('f').
      addV('node').property('data',1).as('g').
      addV('node').property('data',8).as('h').
      addV('node').property('data',22).as('i').
      addV('node').property('data',16).as('j').
      addE('left').from('root').to('b').
      addE('left').from('b').to('c').
      addE('right').from('root').to('d').
      addE('right').from('d').to('e').
      addE('right').from('e').to('i').
      addE('left').from('i').to('j').
      addE('left').from('d').to('f').
      addE('right').from('b').to('h').
      addE('left').from('c').to('g')
    

    【讨论】:

    • 请注意,TnkerPop 3.5.0 引入了一些改进的事务支持,但您需要等到像 Neptune 这样的图表完全支持该功能,并且 TinkerPop 提供所有编程语言的支持 - 现在它仅在 Java 中作为开始可用:tinkerpop.apache.org/docs/3.5.0/upgrade/…
    猜你喜欢
    • 2018-08-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-24
    • 2013-11-22
    • 1970-01-01
    • 1970-01-01
    • 2016-03-10
    相关资源
    最近更新 更多