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

如何在Apache Age中通过自动生成ID查询并判断其为顶点ID或边ID

在Apache Age中使用自动生成ID查询并判断类型

1. 使用自动生成ID执行查询

Apache Age的顶点和边ID均为bigint类型,你可以通过Cypher语句直接根据ID查询对应的元素:

查询顶点

如果目标ID属于顶点,执行以下Cypher语句:

MATCH (n) WHERE id(n) = 844424930131970 RETURN n;

该语句会返回ID匹配的顶点及其属性。

查询边

如果目标ID属于边,执行以下Cypher语句:

MATCH ()-[e]->() WHERE id(e) = 844424930131970 RETURN e;

该语句会返回ID匹配的边及其属性。

2. 判断ID是顶点ID还是边ID

由于顶点和边的ID空间可能存在重叠,你可以通过两种方式快速判断ID类型:

方式一:通过Cypher查询验证

依次执行顶点和边的查询语句:

  1. 先运行顶点查询,若返回结果则为顶点ID;
  2. 若顶点查询无结果,再运行边查询,返回结果则为边ID。

方式二:查询Apache Age系统表

Age在PostgreSQL的ag_catalog模式下维护了系统表,直接查询这些表可以快速验证:

  • 检查是否为顶点ID:
SELECT id, label FROM ag_catalog.ag_vertex WHERE id = 844424930131970;
  • 检查是否为边ID:
SELECT id, label FROM ag_catalog.ag_edge WHERE id = 844424930131970;

有返回记录的表即可对应ID的类型。

一次性判断的联合查询

你也可以用一条SQL语句直接获取ID类型:

SELECT 'vertex' AS element_type FROM ag_catalog.ag_vertex WHERE id = 844424930131970
UNION ALL
SELECT 'edge' AS element_type FROM ag_catalog.ag_edge WHERE id = 844424930131970;

查询结果会直接显示该ID对应的元素类型(若存在多匹配则会返回多条记录,实际场景中这种情况极少)。

内容的提问来源于stack exchange,提问作者Moontasir Mahmood

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 04:50:24