我看到的SO一些类似的问题,但没有一个答案还没有为我工作,所以我希望能获得与已经加入到最新版本OrientDb以来的其他问题提出新的功能一个新的答案。
我想查询哪些具有特定类型的传出边缘,但其他类型的无流出边的所有顶点。
作为一个简单的关系的示例
人----朋友--->人员
人----旗下拥有--->汽车
我试图找到所有谁有朋友,但没有自己的车的人。
我已经尝试下面的查询,没有运气(这不论这些顶点是否拥有特定类型的外出边缘返回所有的人)
select from Person where (out('Friend') not null and out('Owns').size() = 0)
select from Person where (out('Friend') is not null and out('Owns') is null)
在我的努力我意识到,不能查询尚未被OrientDb WHERE子句按本页面支持: https://github.com/orientechnologies/orientdb/wiki/SQL-Where有人请核实,如果这确实是真的。
不管怎么说,我提出和试图简化我查询,并试图找到唯一不具有的“拥有”即将离任的边缘顶点。 即使是没有工作的,因为它似乎返回所有的人在顶我的图:
select from Person where (out('Owns').size() = 0)
select from Person where (out('Owns') is null)
不知道我失踪,但任何帮助一如既往不胜感激。