OrientDB:选择唯一的顶点但保留边缘

时间:2016-10-13 17:40:55

标签: orientdb

我正在尝试做以下奇怪的事情。我有一组指向一组顶点的边,但有一些重复 - 多个边指向相同的顶点。

给定一个给出边缘列表的SELECT命令,我想:

  • 从所有' out'中选择唯一的顶点。顶点
  • 返回唯一顶点的@rid以及指向它们的所有边的列表。

E.g。结果应该是一个顶点列表,其中包含(顶点,[边1,边2,边3])。

考虑这一点的另一种方法是我想要GROUP BY传出顶点,但不知何故在某个字段中保留了我所分组的所有边缘的@ rid。

谢谢!

1 个答案:

答案 0 :(得分:0)

你可以试试这个:

在这里你得到每个顶点的外出边

select $a.@rid, $a.outE() from 'your class'
let $a = (select from 'your class' where $parent.current.@rid = @rid)

如果你想要进入顶点你必须用inE()改变$ a.outE(),如下所示:

select $a.@rid, $a.inE() from 'your class'
let $a = (select from 'your class' where $parent.current.@rid = @rid)

希望它有所帮助。

问候。