OrientDb — Как добавить новое ребро между двумя существующими вершинами, отображающими одно общее свойство?

Есть ли способ добавить ребро между существующими вершинами, которое отображает одно общее свойство между ними?

Пример — Class1 имеет три свойства — A, B, C, а Class 2 имеет три свойства — A, D, E, где Class1.A имеет те же значения, что и Class2.A.

Как я могу создать ребро, которое сопоставляет все значения A в Class1 со всеми значениями A в Class2 без перезагрузки данных?

Кроме того, есть ли способ добиться этого из пользовательского интерфейса? Я вижу возможность создать там Edge, но он не запрашивает значение свойства для сопоставления.

Примечание. Я использую orientdb-community-importers-2.2.27.

Спасибо!


person Mnav505    schedule 04.10.2017    source источник


Ответы (1)


Попробуй это:

create edge <edge name> from (select from class1 where A IN (select A from class2)) to (select from class2 where A IN (select A from class1))

Надеюсь, поможет

С Уважением

person Michela Bonizzi    schedule 04.10.2017
comment
Спасибо! Кажется, это работает. Но если задействованы огромные данные, это значительно снижает производительность. - person Mnav505; 05.10.2017