2016-12-10 13 views
0

OrientDB:私はOrientDBにディレクトリのようなツリー構造を持っているクエリツリー

ノード(名前は= 'A') - > Connection(接続) - > Connectノード(名前= 'B') - > Connection(接続) - > Connectノード( > 'B' - - 私はパス '' を知っている場合、名前= 'C')

create class Node extends V 
create class Connection extends E 

let a = create vertex Node set name = 'a' 
let b = create vertex Node set name = 'b' 
create edge Connection from $a to $b 
let c = create vertex Node set name = 'c' 
create edge Connection from $b to $c 

はどのようにしてノード(名前= 'C')を選択することができます> 'C'?

「a」、「b」、「c」の代わりに、「a」、「a」、「a」にすることができますが、すべてのノード異なっています。

答えて

2

MATCH

select expand(out('Connection').out('Connection')) from Node where name='a' 

これはあなたが探しているものでなくて

SELECT expand(o) from 

(MATCH 
{ 
class: Node, 
where: (name='a') 
} 

.out('Connection') 

.out('Connection') 
{ 
as: o 
} 

RETURN o) 

または

を試してみてください?

関連する問題