我有以下图表:
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中执行此操作的最有效方法。谢谢。
答案 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]
替换为您的查询以获取这些结果