OrientDB:查询树
OrientDB: Query tree
我在 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',我如何 select Node(name='c')?
请记住,所有名称在不同层级上可能是相同的:like 而不是 'a'、'b'、'c',它可以是 'a'、'a', 'a' 但所有节点都不一样。
尝试
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'
这是您要找的吗?
我在 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',我如何 select Node(name='c')?
请记住,所有名称在不同层级上可能是相同的:like 而不是 'a'、'b'、'c',它可以是 'a'、'a', 'a' 但所有节点都不一样。
尝试
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'
这是您要找的吗?