OrientDB 在唯一边和顶点上的批处理命令
OrientDB batch commands on unique edges and vertices
假设我想创建一组独特的边和顶点。
create vertex A set etc.
create vertex B set etc.
create edge AB, create edge AC,
而且所有这些边和顶点都是唯一的——所以一些命令在它们是唯一的时候可能会失败。
如何批处理这些命令,以保证所有命令都将 运行,即使某些命令失败?
我试过你的情况,我有一个顶点class,名称为属性(唯一索引),你可以用不同的方式执行批处理命令:
工作室
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
希望对您有所帮助
此致
假设我想创建一组独特的边和顶点。
create vertex A set etc.
create vertex B set etc.
create edge AB, create edge AC,
而且所有这些边和顶点都是唯一的——所以一些命令在它们是唯一的时候可能会失败。
如何批处理这些命令,以保证所有命令都将 运行,即使某些命令失败?
我试过你的情况,我有一个顶点class,名称为属性(唯一索引),你可以用不同的方式执行批处理命令:
工作室
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
希望对您有所帮助
此致