Получение идентификаторов и атрибутов двух соседних узлов в 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
Выход:
Надеюсь, поможет