Graph databases OrientDB:查找给定类中没有直接相邻顶点的所有顶点

Graph databases OrientDB:查找给定类中没有直接相邻顶点的所有顶点,graph-databases,orientdb,Graph Databases,Orientdb,使用OrientDB的查询语言,如何找到簇a中没有以类b顶点结尾的传出边(即类b中没有直接相邻顶点)的所有顶点? 它们是否有其他输出边并不重要。如果将a类映射到集群a,则可以执行以下操作: select from A where not( out.in.@class in ['b'] ) 这意味着将记录的“out”属性(作为边)划掉,然后划掉“in”属性(顶点),然后得到类名(@class)。我使用IN运算符而不是=(等于),因为“out.IN.@class”返回类名的集合 如果您不想拥有A类

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

如果将a类映射到集群a,则可以执行以下操作:

select from A where not( out.in.@class in ['b'] )
这意味着将记录的“out”属性(作为边)划掉,然后划掉“in”属性(顶点),然后得到类名(@class)。我使用IN运算符而不是=(等于),因为“out.IN.@class”返回类名的集合

如果您不想拥有A类,并且必须通过群集A,请使用cluster:syntax:

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

我已经针对最新的1.0rc8-SNAPSHOT进行了测试,效果良好。

这真的是语法吗?这两种情况没有区别。我无法让它工作(在rc7上)。我得到
未知函数“not”
。结尾的双引号是否需要匹配?仅适用于1.0rc8-Snapshot好的,将在发布后检查。有没有办法用早期版本来做?最后的双引号是什么意思?很抱歉“它来自剪切和粘贴。在以前的版本中,除非您使用GREMLIN函数(使用图(ed)分布),如“从中选择GREMLIN()”,否则无法一次完成此操作“。更多关于小精灵的表达:好的,最后一个问题,然后你得到+1;-):集群语法查询和第一个查询有什么区别?他们看起来一模一样?