OrientDB:是否可以在一条命令中同时创建一个顶点和一条边?

OrientDB: Is it possible to create a vertex together with an edge in one command?

我有三个类:

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

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

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

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 进行检查。

看看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)
)