如何在OrientDB中进行排除查询

时间:2015-09-25 18:32:23

标签: graph subquery orientdb

我想知道是否可以在orient db(v2.0)中使用子选择作为排除查询。或者,如果有必要在Java / PHP /等中导出单独的查询和进程。

例如,我们说Hogwarts有以下图表。

顶点 人,房屋,班级

边 is_at(子类is_student,is_faculty),was_at(校友),is_taking,is_teaching,belongs_to

我们如何找到所有不是教员的校友?有可能以单个查询或以某种方式使用LET吗?

我们如何找到所有正在教授课程的教师,比如时间旅行,没有学生属于格兰芬多家?

谢谢, 林赛

1 个答案:

答案 0 :(得分:1)

.size()运算符应该可以工作:http://orientdb.com/docs/2.0/orientdb.wiki/SQL-Methods.html#size

select from People where out('is_faculty').size() = 0

根据您的图表使用(' ...')或(' ...')。

  

我们怎样才能找到你所教的所有教师,比如时间旅行,没有学生属于gryffindor家?

我没有关于你的图表和课程的大量信息,但这可能是这样的:

select from Classes where ClassName='time travel' and in('is_teaching')[Id=yourId] and in('is_taking').out('belongs_to')[Name='gryffindor'].size() = 0

再次,在图表中使用in()或out()。