Orientdb 获取连接到不属于特定类的节点的所有关系

Orientdb 获取连接到不属于特定类的节点的所有关系,orientdb,graph-databases,Orientdb,Graph Databases,因此,通过查询,您可以轻松获得到某个顶点的特定类的所有连接 从Foo中选择,其中两者均为42:1 这将获得类Foo的所有顶点,这些顶点通过出站或入站链接连接到顶点42:1 然而,如果我想要得到所有连接到42:1的顶点,而这些顶点不是类Foo的实例,那么查询会是什么呢 OrientDB本机是否支持此功能,或者我是否必须执行类似交叉口的操作?为什么不使用 SELECT * FROM ( ... your select query ) WHERE @class <> 'Foo' 另一种方

因此,通过查询,您可以轻松获得到某个顶点的特定类的所有连接

从Foo中选择,其中两者均为42:1

这将获得类Foo的所有顶点,这些顶点通过出站或入站链接连接到顶点42:1

然而,如果我想要得到所有连接到42:1的顶点,而这些顶点不是类Foo的实例,那么查询会是什么呢

OrientDB本机是否支持此功能,或者我是否必须执行类似交叉口的操作?

为什么不使用

SELECT * FROM (
... your select query
)
WHERE @class <> 'Foo'
另一种方法可以通过使用匹配表达式来表示

MATCH
{E, where:(@class <> 'Foo')}-your_relation->{class:Foo}
RETURN E, F

罗布

谢谢你!同样值得注意的是,instanceof可以用于按基类过滤。我认为模式匹配在逻辑上是只投影某些类的最佳方式。OrientDb的人花了很多时间来改进这个产品。