OrientDB查询所有输出边

OrientDB查询所有输出边,orientdb,Orientdb,我想在OrientDB中执行查询,但我不知道它是如何工作的 我正在使用Graph API,我的数据库如下所示: 等级(V):@路线(名称、起点、长度、目标) 五级:方向(目标、长度) (E)级:@有A 等级(E):@开始方向 (E)级:@有跟随者 边与顶点的连接方式如下: 路线->有一个->方向 路线->开始方向->方向 方向->有跟随者->方向 现在我需要根据路线的名称找到所有追随者, 到目前为止,当我直接向查询输入一个rid(类startDirection)时,它是有效的,例如: selec

我想在OrientDB中执行查询,但我不知道它是如何工作的

我正在使用Graph API,我的数据库如下所示:

等级(V):@路线(名称、起点、长度、目标)
五级:方向(目标、长度)

(E)级:@有A 等级(E):@开始方向 (E)级:@有跟随者

边与顶点的连接方式如下:
路线->有一个->方向
路线->开始方向->方向
方向->有跟随者->方向

现在我需要根据路线的名称找到所有追随者, 到目前为止,当我直接向查询输入一个rid(类startDirection)时,它是有效的,例如:

select * from (traverse outE('has_Follower'),has_Follower.in from #??:?) where @class='direction' 
但是现在我需要解决路由名称的问题(这就是问题所在),到目前为止我尝试的是:

select * from (traverse outE('has_Follower'),has_Follower.in from (select @rid from start_Direction where start_Direction.out = (select @rid from route where Name = 'nameOfroute'))) where @class='direction' 
但这给了我一个空查询,尽管当我输入rid from start\u方向时,我知道该方向有一个has\u跟随器,它仍然有效


希望这是可以理解的,提前感谢您的帮助

查询中的一个问题可能是
start\u Direction.out=(选择…
),您必须在
中使用
,而不是
=
,例如
start\u Direction.out in(选择…

总的来说,我认为做你需要的事情最简单的方法如下:

 MATCH
   {class:route, as:route} -start_Direction-> {} -has_Follower-> {as:direction, while:(true)}
 RETURN route.@rid, route.Name, route.Start, route.Length, route.Goal, direction.Goal, direction.length

或者只要
RETURN$elements
如果您希望每行有一条记录

Hi,您可以添加一些示例数据吗?Thx