You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用SQL或Cypher查询AgensGraph向量标签的继承关系?

获取AgensGraph向量标签的继承关系列表

当然可以,你可以通过SQL查询系统表或者使用Cypher语句来获取向量标签(VLABEL)的父类与子类对应关系,具体方法如下:

方法一:SQL查询系统表

AgensGraph基于PostgreSQL开发,向量标签的继承关系存储在系统表中,通过关联ag_label(存储标签元数据)和pg_inherits(存储继承关系)即可查询:

SELECT
    CONCAT(child.nspname, '.', child.relname) AS 子类向量标签,
    CONCAT(parent.nspname, '.', parent.relname) AS 父类向量标签
FROM
    pg_inherits
JOIN
    ag_label child ON pg_inherits.inhrelid = child.oid
JOIN
    ag_label parent ON pg_inherits.inhparent = parent.oid
WHERE
    child.labkind = 'v' -- 筛选向量标签
    AND parent.labkind = 'v';

说明:

  • ag_label.labkind = 'v'用于指定只查询向量标签,若要查边标签可改为'e'
  • nspname是标签所在的命名空间,relname是标签名,拼接后是完整的标签标识

方法二:Cypher查询

你也可以用Cypher语法结合系统表来查询,支持批量查询或指定标签查询:

批量查询所有继承关系对

MATCH (child:ag_label), (parent:ag_label)
WHERE EXISTS((child)-[:inhrelid]->(pg_inherits)<-[:inhparent]-(parent))
  AND child.labkind = 'v' AND parent.labkind = 'v'
RETURN
    child.nspname + '.' + child.relname AS 子类向量标签,
    parent.nspname + '.' + parent.relname AS 父类向量标签;

查询指定子类的所有父类

比如查询childLabelName的父类:

MATCH (child:ag_label {relname: 'childLabelName', labkind: 'v'})
JOIN pg_inherits ON child.oid = pg_inherits.inhrelid
JOIN (parent:ag_label) ON pg_inherits.inhparent = parent.oid
RETURN parent.nspname + '.' + parent.relname AS 父类向量标签;

查询指定父类的所有子类

比如查询labelName的子类:

MATCH (parent:ag_label {relname: 'labelName', labkind: 'v'})
JOIN pg_inherits ON parent.oid = pg_inherits.inhparent
JOIN (child:ag_label) ON pg_inherits.inhrelid = child.oid
RETURN child.nspname + '.' + child.relname AS 子类向量标签;

内容的提问来源于stack exchange,提问作者Lex Man

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.04 22:22:22