我想知道是否可以在orient db(v2.0)中使用子选择作为排除查询。或者,如果有必要在Java / PHP /等中导出单独的查询和进程。
例如,我们说Hogwarts有以下图表。
顶点 人,房屋,班级
边 is_at(子类is_student,is_faculty),was_at(校友),is_taking,is_teaching,belongs_to
我们如何找到所有不是教员的校友?有可能以单个查询或以某种方式使用LET吗?
我们如何找到所有正在教授课程的教师,比如时间旅行,没有学生属于格兰芬多家?
谢谢, 林赛
答案 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()。