a_1 --- [e_a_b] ---> B_1
a_1 --- [e_a_b] ---> B_2
b_1 --- [e_b_c] ---> C_1
b_2 --- [e_b_c] ---> C_1
执行sql
select expand(out("e_a_b").out("e_b_c")) from v_a
返回两个相同的顶点(两个c_1),它是一个BUG?或者我用错了方法?
如何在我的测试数据c_1
之后获得一个select expand(out("e_a_b").out("e_b_c")) from v_a
?
我的目的是统计朋友的朋友并按结果排序 我怎么能得到这个。
我知道traverse out("e_a_b", "e_b_c") from (select from v_a where name = "a_1")
,
但这只能得到一个v_a(a_1),
我需要v_a
页面和关系关系的计数。
create class v_a extends v clusters 1;
create vertex v_a content {"name": "a_1"};
create class v_b extends v clusters 1;
create vertex v_b content {"name": "b_1"};
create vertex v_b content {"name": "b_2"};
create class v_c extends v clusters 1;
create vertex v_c content {"name": "c_1"};
create class e_a_b extends e clusters 1;
create edge e_a_b from (select from v_a) to (select from v_b);
create class e_b_c extends e clusters 1;
create edge e_b_c from (select from v_b) to (select from v_c);
答案 0 :(得分:0)
select name, set(out("e_a_b").out("e_b_c")).size() from v_a
我...找到答案?
问题出现后问题总是得到解决 - -b
更好的方法吗?
github https://github.com/orientechnologies/orientdb/issues/7620
答案 1 :(得分:0)
试试这个:
select distinct(@rid) from (select expand(out("e_a_b").out("e_b_c")) from v_a)
希望有所帮助
此致