如何在Orient Db中查询带边的类?

时间:2016-06-02 07:14:08

标签: orientdb

enter image description here

我的问题是,如何查询“聊天”表以检索个人资料表中的人员详细信息。

ParticipatinIn边缘从Person开始聊天。 HasProfile Edge成为了Profile的人。

请帮我解决这个问题..

谢谢

2 个答案:

答案 0 :(得分:2)

我使用过这个结构

enter image description here

您可以使用以下查询:

select name, person.name, person.out("hasProfile").name as profile from (select name, in('ParticipatinIn') as person from Chat unwind person) unwind profile

enter image description here

如果你使用遍历,如果一个人是两个不同的聊天的一部分,你只有一次这个人。

希望它有所帮助。

答案 1 :(得分:0)

使用此架构:

enter image description here

试试这个:

select name, in('HasProfile').name as Person, in('HasProfile').out('ParticipatingIn').name as Chat from Profile

这是输出:

enter image description here

如果您不想看支架,可以使用展开命令:

select name, in('HasProfile').name as Person, in('HasProfile').out('ParticipatingIn').name as Chat from Profile unwind Person,Chat

这是输出:

enter image description here

<强>更新

select name, in('ParticipatingIn').name as  Person, in('ParticipatingIn').out('HasProfile').name as Profile from Chat

更新2

traverse * from Chat

enter image description here

希望有所帮助

问候。