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