我想知道在orient db (v2.0)中是否可以使用子选择作为排除查询。或者是否需要在Java/PHP/etc中导出单独的查询和进程。
例如,假设我们有下面的霍格沃茨图表。
顶点-人、房屋、阶级
边缘is_at ( is_student,is_faculty子类),was_at (校友),is_taking,is_teaching,belongs_to
我们怎样才能找到所有非教职员工的校友?是否可以作为一个查询或以某种方式使用LET来完成这个任务?
我们怎么会发现所有教授时间旅行课程的教师都没有属于格兰芬多学院的学生呢?
谢谢,林赛
发布于 2015-09-25 22:29:47
.size()操作符应该可以工作:http://orientdb.com/docs/2.0/orientdb.wiki/SQL-Methods.html#size
select from People where out('is_faculty').size() = 0
用完(‘.’)或(“.”)根据你的图表。
我们怎么会发现你教的所有教员,比如说时间旅行,都没有属于格兰芬多的学生?
关于您的图表和类,我没有太多的信息,但可能是这样的:
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()。
https://stackoverflow.com/questions/32788536
复制相似问题