2016-09-16 21 views
1

複数OrientDB:私は、クエリ(Q)は、クラスAのフィルタの頂点を持っている私が次のグラフ持つ頂点

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] 

SELECT FROM A WHERE condition 

はさんは言ってみましょうを結果は[31、28]

私はクラスBのすべての頂点をフィルタリングする必要がありますクエリ(Q)の結果内の少なくとも1つの頂点に対してed(出て行くエッジでなければならず、直接の関係でもないかもしれません)。

結果クエリは、あなたがそれらの頂点からトラバースしている場合、あなたは、少なくとも希望頂点の1(31または28)

になりますので、[4,0]、私が作成するかどうかはわかりません返す必要があります正しいクエリと、OrientDBで最も効率的な方法を教えてください。ありがとうございました。

+0

こんにちはを取得するための代替クエリとselect from A where num in [31,28]、あなたが必要なものの例では、サンプルデータを追加してくださいだろうか?ありがとう –

+0

私はすでに質問を編集しました。 – diugalde

答えて

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

それらの結果

+0

ありがとうございました、それは私が探していたものでした。 – diugalde

関連する問題