OrientDB-具有其他字段的expand()

时间:2018-10-02 13:00:42

标签: orientdb graph-databases

从以下查询开始:

MATCH 
    {class: MYCLASS}-->{as: a}-->{as: b} 
RETURN 
    $matches

返回:

PROPERTIES
=============
a     | b
-------------
#25:0 | #10:0
#25:0 | #9:0
#29:0 | #11:0
#29:0 | #33:0

我希望返回b中的所有字段和a的类。我也不知道b中的字段。 基本上是这样:

SELECT
    expand(b), a.@class
FROM
    (MATCH 
        {class: MYCLASS}-->{as: a}-->{as: b} 
    RETURN 
        $matches)
;

哪个当然会返回错误消息:Cannot execute a query with expand() together with other projections DB name="test"

任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:0)

尝试一下:

select $a as b, $b.a_class as class
let $a = (select expand(b) from (MATCH {class: MYCLASS}-->{as: a}-->{as: b} RETURN $matches)),
$b = (select a.@class as a_class from (MATCH {class: MYCLASS}-->{as: a}-->{as: b} RETURN $matches))    
unwind class

这是您得到的:

enter image description here


希望有帮助

致谢

答案 1 :(得分:0)

@Michela Bonizzi,尽管您的回答没有给我确切的结果,但我希望它给了我一个新主意

SELECT 
    *, in().@class as a_class
FROM
    (MATCH 
        {class: BEWERTUNG}-->{as: a}-->{as: b} 
    RETURN 
        expand(b))
UNWIND a_class

queryresult