OrientDB:查找没有给定类的直接邻居顶点的所有顶点

时间:2012-01-14 12:24:14

标签: graph-databases orientdb

使用OrientDB的查询语言,如何找到集群a中没有出口边缘以类b的顶点结尾的所有顶点(即没有类b的直接邻居顶点) ? 它们是否有其他外围边缘并不重要。

1 个答案:

答案 0 :(得分:3)

如果你的A类映射到群组a,你可以这样做:

select from A where not( out.in.@class in ['b'] )

这意味着越过" out" A记录的属性(作为边缘),然后是" in" property(顶点)然后获取类名(@class)。我使用了IN运算符而不是=(等于)因为" out.in. @ class"返回一个类名集合。

如果你想要没有A类,你必须通过集群A使用集群:语法:

 select from cluster:A where not( out.in.@class in ['b'] )

我已经针对最新的1.0rc8-SNAPSHOT进行了测试并且正常工作。