Получение идентификаторов и атрибутов двух соседних узлов в OrientDB

Я пытаюсь выполнить соединение между вершинами в классе Test1 и смежными с ними, но получаю ошибку синтаксического анализа, так как ключевое слово join не допускается. Я пытаюсь показать оба идентификатора исходного и конечного узлов по отношению Pathи получить имена двух вершин

select @rid as P, name as N from Test1 join 
   (select @rid as R, name as M from (select expand(out('Path')) from Test1)) 
   on t.P=u.R

Обновить:

Я попробовал следующее решение, но все элементы упакованы в коллекцию, в то время как в моем случае я хотел бы выполнить декартово произведение:

select @rid, out('Path').@rid as rid2, name, out('Path').name as name2 from Test1

2 ответа

Решение
select in.name as name1, out.name as name2, in.@rid as id1, out.@rid as id2 from Path

У меня есть этот простой набор данных:

простой способ извлечь все элементы двух смежных узлов может быть использование bothV()функция.

Запрос:

SELECT expand(bothV('TestClassEdge')) FROM TestClassEdge

Выход:

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

Другие вопросы по тегам