如何在OrientDB中获取可用的连接顶点

时间:2018-01-25 10:06:52

标签: orientdb

我有一个案例:我想从基本顶点获取所有连接的顶点(包括中间顶点)。

例如,图表如下 enter image description here

我想从顶点(“giggs”)查询所有连接的顶点,我还想查询连接的路径。例如:“giggs” - >“192.168.0.1” - >“ronaldo” - >“192.168.0.2” - >“veri”。我使用如下查询:

MATCH {class: ic, as: s, where: (title = 'giggs')}.(outE(){where: 'some condition'}.inV().inE(){where: 'some condition'}.outV()){class: %s, as: t, while: ($depth <= 5), where: ($matched.s != $currentMatch)} RETURN $paths

我可以获得所有目标节点,例如:“veri”,但我不知道“veri”的前一个顶点和“veri”与其前一个顶点之间的边缘。

那我怎么写这个查询呢?提前谢谢。

1 个答案:

答案 0 :(得分:1)

试试这个:

TRAVERSE both() FROM (SELECT EXPAND(s) FROM (MATCH {CLASS:ic, AS:s, WHERE:(name='giggs')} RETURN s))

希望有所帮助

此致