例如,在OrientDB图形中有两个简单的顶点:
创建的边缘是在
我希望使用OrientDB SQL来解决这个问题,因为我有一个非常大的连接导入,SQL方法似乎更快。
但是,如果这不可能,您有任何关于批量导入边缘(大约2M)的替代建议吗?
orientdb> CREATE DATABASE local:/databases/test admin admin local graph;
Creating database [local:/databases/test] using the storage type [local]...
Database created successfully.
Current database is: local:/graph1/databases/test
orientdb> INSERT INTO V (label,in,out) VALUES ('vertexOne',[],[]);
Inserted record 'V#6:0{label:vertexOne,in:[0],out:[0]} v0' in 0.001000 sec(s).
orientdb> INSERT INTO V (label,in,out) VALUES ('vertexTwo',[],[]);
Inserted record 'V#6:1{label:vertexTwo,in:[0],out:[0]} v0' in 0.000000 sec(s).
是否有一种方法可以仅通过知道顶点的“标签”而不是其“RID”来创建这两个顶点之间的边缘?
例如(不起作用):
orientdb> INSERT INTO E (label, in, out) VALUES ('is_connected_to', (SELECT @rid FROM V WHERE label = 'vertexOne'), (SELECT @rid FROM V WHERE label = 'vertexTwo'));
Inserted record 'E#7:0{label:is_connected_to,in:null,out:null} v0' in 0.001000 sec(s).
我尝试使用“FLATTEN”作为潜在的解决方法。没有成功:
orientdb> INSERT INTO E (label, in, out) VALUES ('is_connected_to', (SELECT FLATTEN(@rid) FROM V WHERE label = 'vertexOne'), (SELECT FLATTEN(@rid) FROM V WHERE label = 'vertexTwo'));
Inserted record 'E#7:1{label:is_connected_to,in:null,out:null} v0' in 0.001000 sec(s).
创建的边缘是在
null
和null
之间。不行。我希望使用OrientDB SQL来解决这个问题,因为我有一个非常大的连接导入,SQL方法似乎更快。
但是,如果这不可能,您有任何关于批量导入边缘(大约2M)的替代建议吗?