如何在AgensGraph上获取数组的标签?

时间:2019-02-25 01:35:58

标签: agens-graph

我试图在AgensGraph上获取数组的标签吗?

但是,它返回有关类型转换的错误。

如何获取数组标签?

agens=# match (n:o) with collect(n) as n return labels(n[0]);
ERROR:  cannot cast type jsonb to vertex
agens =# match (n:o{id:1}) return labels(n);
 labels 
--------
 ["o"]
(1 row)

1 个答案:

答案 0 :(得分:0)

AgensGraph的数组处理存在问题。

函数“收集”将所有数据类型转换为json。

而且不可能还原数据类型。

agens =# match (n:o) with collect(n) as n return n[0];
                           n                            
--------------------------------------------------------
 {"id": "3.1", "tid": "(0,1)", "properties": {"id": 1}}
(1 row)

agens =# match (n:o{id:1}) return n;
        n        
-----------------
 o[3.1]{"id": 1}
(1 row)

使用“ array_agg”代替“ collect”。

agens =# match (n:o) with array_agg(n) as n return n[0];
        n        
-----------------
 o[3.1]{"id": 1}
(1 row)

agens =# match (n:o) with array_agg(n) as n return labels(n[0]);
 labels 
--------
 ["o"]
(1 row)