如何遍历多个OrientDB顶点

时间:2016-09-16 13:13:56

标签: sql graph orientdb orientjs nosql

我有以下图表:

enter image description here

Class A Vertex = [11, 21, 51, 31, 28]
Class B Vertex = [10, 14, 4, 0]
Class C Vertex = [33, 45, 35, 37]

我有一个查询(Q)过滤类A的顶点:

SELECT FROM A WHERE condition

假设结果为[31,28]

现在我需要过滤掉与查询(Q)结果中至少一个顶点相关的B类的所有顶点(必须是一个外向边,可能是也可能不是直接关系)。

结果查询应该返回[4,0],因为如果从那些顶点遍历,你将得到至少一个所需的顶点(31或28)

我不确定如何创建正确的查询以及在OrientDB中执行此操作的最有效方法。谢谢。

1 个答案:

答案 0 :(得分:4)

select from (traverse in() from (select from A where num in [31,28])) where @class='B'

select from A where num in [31,28]替换为您的查询以获取这些结果