OrientDB:是否可以在一个命令中与边缘一起创建顶点?

时间:2015-08-14 14:01:38

标签: orientdb

我有三节课:

  • 用户扩展V
  • Links extends V
  • Edges延伸E

我有3个用户,通常不会改变。

我有可能有10000个链接,每个链接通过Edge连接到至少一个用户(通常只有一个)。

是否可以将这两个总是连续调用的命令合并为一个?

link = "insert into Links set title='Link 1'"
"create edge Edges
   from ( select from Users where user_id='"+user_id+"')
   to   ( select from " + link._rid + ")"

这是某种伪代码,我用pyorient来检查这个伪代码。

1 个答案:

答案 0 :(得分:1)

看看SQL Batch

您的命令可能如下所示......

pyorient_client.batch("""begin
    let link = create vertex Links set name = 'Link 1'
    let user = select from Users where user_id = '{}' lock record
    let edge = create edge Edges from $user to $link
    commit
    return $edge""".format(user_id)
)