>我在下面有一个测试图
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(,这是一个错误? 还是我用错了?
如何在select expand(out("e_a_b").out("e_b_c")) from v_a
测试数据后获得一个c_1
?
我的目的是计算朋友的朋友并按结果排序 我怎么能得到这个。
我知道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);
东方数据库版本:2.2.24
我的英语不是很好,谢谢阅读。
试试这个:
select distinct(@rid) from (select expand(out("e_a_b").out("e_b_c")) from v_a)
希望对你有帮助
问候
select name, set(out("e_a_b").out("e_b_c")).size() from v_a
我。。。找到答案?
问题总是在问题提出后解决 - -b
有更好的方法吗?
GitHub https://github.com/orientechnologies/orientdb/issues/7620