Например, две простые вершины в качестве OrientDB Graph:OrientDB GraphED - SQL вставляет край между двумя (выберите вершину RID) s? Или альтернативный подход для очень большого импорта
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).
Есть ли способ, чтобы создать границу между этими двумя вершинами лишь зная «а не их лейбла» РИД их ?
Например (не работает):
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).
Я пытался 'Свести' в качестве потенциального решения проблемы. Не повезло:
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)?
Спасибо!