OrientDB SELECT 和子查询

OrientDB SELECT and subqueries

对此我真的很纳闷。 为什么这样做:

SELECT out('Posted').out('IsFromCategory') FROM #18:1

而这不是:

SELECT out('IsFromCategory') FROM (SELECT out('Posted') FROM #18:1)

这不是我真正的逻辑,而是我在做一些测试时想出来的...

如您所知,您需要在子查询中使用 expand,因此它看起来像

SELECT out('IsFromCategory') FROM (SELECT expand(out('Posted')) FROM #18:1)

这就像没有expand returns @rid 列表的子查询,所以select 没有任何内容,而扩展后得到一个列表使用整个实体(顶点),您可以从中遍历它们具有的任何边。

(不确定为什么这与您的第一个查询的行为不同。可能是因为第一个是一个查询并且您明确要求遍历,而第二个是两个查询并且当子查询 returns 它没有'不知道您想要检索整个顶点)。