OrientDB:查询树

时间:2016-12-10 18:57:09

标签: sql orientdb

我在OrientDB中有一个类似目录的树结构:

节点(名= 'A') - >连接 - >节点(名= '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

如果我知道路径'a' - >'b' - >'c',我该如何选择Node(name ='c')?

请记住,所有名称在不同级别的层次结构中可能相同:例如,而不是'a','b','c',它可以是'a','a','a',但所有节点都是不同。

1 个答案:

答案 0 :(得分:2)

SELECT expand(o) from

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

.out('Connection')

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

RETURN o)

或没有MATCH

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

这是你在寻找什么?