【问题标题】:OrientDB batch commands on unique edges and verticesOrientDB 对唯一边和顶点的批处理命令
【发布时间】:2018-04-12 16:14:26
【问题描述】:

假设我想创建一组独特的边和顶点。

create vertex A set etc.

create vertex B set etc.

create edge AB, create edge AC, 

而且所有这些边和顶点都是唯一的——所以当它们是唯一的时候,一些命令很可能会失败。

我如何批处理这些命令,以保证所有命令都会运行,即使某些命令失败?

【问题讨论】:

    标签: orientdb


    【解决方案1】:

    我试过你的情况,我有一个带有 name 属性(唯一索引)的 Vertex 类,你可以通过不同的方式执行批处理命令:

    • 工作室

      begin
      LET a = create vertex User set name = 'John'
      LET b = create vertex User set name = 'Jane'
      LET c = create edge FriendOf from $a to $b
      commit retry 100
      return $c
      
    • Java API

      OrientGraph g=new OrientGraph(currentPath);
      String cmd = "begin\n";
      cmd += "let $user2 = UPDATE User SET user_id = 'userX' UPSERT RETURN AFTER @rid WHERE user_id = 'userX'\n";
      cmd += "let $service = UPDATE Service SET service = 'serviceX' UPSERT RETURN AFTER @rid WHERE service = 'serviceX'\n";
      cmd += "CREATE edge link FROM $user2 TO $service\n";
      cmd += "commit";
      g.command(new OCommandScript("sql", cmd)).execute();
      
    • 控制台

      使用您的代码创建一个 .txt 文件,如下所示:

      connect remote:localhost/stack49801389 root root
      
      begin
      create vertex User set name = 'John'
      create vertex User set name = 'Jane'
      create edge FriendOf from $a to $b
      commit retry 100
      return $c
      

      然后通过控制台运行

    更多信息你可以看看这个link

    希望对你有帮助

    问候

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-11-07
      • 2018-04-30
      • 1970-01-01
      • 2012-11-17
      • 1970-01-01
      • 2019-09-03
      相关资源
      最近更新 更多