OrientDB:是否可以在一条命令中同时创建一个顶点和一条边?
OrientDB: Is it possible to create a vertex together with an edge in one command?
我有三个类:
- 用户扩展 V
- 链接扩展 V
- 边延伸 E
我有 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)
)
我有三个类:
- 用户扩展 V
- 链接扩展 V
- 边延伸 E
我有 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)
)