更新时间:2025-03-05 GMT+08:00

内存版

内存版业务面API包括点操作、边操作、元数据操作、索引操作、Gremlin操作、算法、路径、图统计、图操作、子图操作、Job管理、Cypher操作API。

表1 点操作API

名称

URL

功能描述

点过滤查询

POST/ges/v1.0/{project_id}/graphs/{graph_name}/vertices/action?action_id=query

根据某个过滤条件查询点,比如点元数据中含有age属性,过滤条件可以为age>18。

查询点详情

GET/ges/v1.0/{project_id}/graphs/{graph_name}/vertices/detail?vertexIds={vertex_ids}

给定一个点或者一组点的集合,查询这些点的详情,包括Label信息。

添加点

POST /ges/v1.0/{project_id}/graphs/{graph_name}/vertices

添加一个点。

删除点

DELETE/ges/v1.0/{project_id}/graphs/{graph_name}/vertices/{vertex_id}

删除一个点。

更新点属性

POST/ges/v1.0/{project_id}/graphs/{graph_name}/vertices/{vertex_id}/properties/action?action_id={actionId}

对点属性进行修改,包括新增、修改和删除。

批量点查询

POST/ges/v1.0/{project_id}/graphs/{graph_name}/vertices/action?action_id=batch-query

批量查询点的详情。

批量添加点

POST /ges/v1.0/{project_id}/graphs/{graph_name}/vertices/action?action_id=batch-add

批量添加点的操作。

批量删除点

POST /ges/v1.0/{project_id}/graphs/{graph_name}/vertices/action?action_id=batch-delete

根据批量节点ID删除节点。

批量更新点属性

POST /ges/v1.0/{project_id}/graphs/{graph_name}/vertices/properties/action?action_id={actionId}

批量更新点的属性。

添加点label

POST /ges/v1.0/{project_id}/graphs/{graph_name}/vertices/{vertex_id}/labels

添加点的标签。

删除点label

DELETE /ges/v1.0/{project_id}/graphs/{graph_name}/vertices/{vertex_id}/labels/{label_name}

删除点的标签。

导出过滤后的点

POST /ges/v1.0/{project_id}/graphs/{graph_name}/vertices/action?action_id=export

导出满足过滤条件的顶点集合。

删除过滤后的点

POST /ges/v1.0/{project_id}/graphs/{graph_name}/vertices/action?action_id=delete

删除满足过滤条件的顶点集合。

表2 边操作API

名称

URL

功能描述

边过滤查询

POST/ges/v1.0/{project_id}/graphs/{graph_name}/edges/action?action_id=query

根据边的属性上的过滤条件进行过滤,查询符合过滤条件的边。

查询边详情

GET /ges/v1.0/{project_id}/graphs/{graph_name}/edges/detail?source={sourceVertex}&target={targetVertex}&index={index}

根据边的源点和目的点查询边的详情,包括边的Label信息。

添加边

POST /ges/v1.0/{project_id}/graphs/{graph_name}/edges

添加一条边。

删除边

DELETE /ges/v1.0/{project_id}/graphs/{graph_name}/edges?source={sourceVertex}&target={targetVertex}&index={index}

删除一条边。

更新边属性

POST/ges/v1.0/{project_id}/graphs/{graph_name}/edges/properties/action?action_id={actionId}&source={sourceVertex}&target={targetVertex}&index={index}

对边属性进行修改,包括新增、修改和删除。

批量边查询

POST/ges/v1.0/{project_id}/graphs/{graph_name}/edges/action?action_id=batch-query

批量查询边的详情。

批量添加边

POST /ges/v1.0/{project_id}/graphs/{graph_name}/edges/action?action_id=batch-add

批量添加边的操作。

批量删除边

POST /ges/v1.0/{project_id}/graphs/{graph_name}/edges/action?action_id=batch-delete

根据批量边的起点、终点以及索引,删除这些边。

批量更新边属性

POST /ges/v1.0/{project_id}/graphs/{graph_name}/edges/properties/action?action_id={actionId}

批量更新边属性。

导出过滤后的边

POST /ges/v1.0/{project_id}/graphs/{graph_name}/edges/action?action_id=export

导出满足过滤条件的边集合。

删除过滤后的边

POST /ges/v1.0/{project_id}/graphs/{graph_name}/edges/action?action_id=delete

删除满足过滤条件的边集合。

表3 元数据操作API

名称

URL

功能描述

添加label

POST /ges/v1.0/{project_id}/graphs/{graph_name}/schema/labels

添加label。

更新label

POST /ges/v1.0/{project_id}/graphs/{graph_name}/schema/labels/{label_name}/properties

更新label。

查询图元数据详情

GET /ges/v1.0/{project_id}/graphs/{graph_name}/schema

查询元数据详情。

删除label

DELETE /ges/v1.0/{project_id}/graphs/{graph_name}/schema/labels/{labelName}

删除label,同时删除该label相关的点、边。

批量添加label

POST /ges/v1.0/{project_id}/graphs/{graph_name}/schema/labels/action?action_id=batch-add

批量添加label。

查询Schema结构

GET /ges/v1.0/{project_id}/graphs/{graph_name}/schema/structure?detail={details}

查询生成的schema结构(从OBS上读取)。

生成Schema结构

POST /ges/v1.0/{project_id}/graphs/{graph_name}/schema/structure/build

生成以label为点,label间关系为边的schema结构,并存储在OBS上。

生成数据资产

POST /ges/v1.0/{project_id}/graphs/{graph_name}/schema/data-assets

生成数据资产。

获取数据资产

GET /ges/v1.0/{project_id}/graphs/{graph_name}/schema/data-assets

获取数据资产。

表4 索引操作API

名称

URL

功能描述

新建索引

POST /ges/v1.0/{project_id}/graphs/{graph_name}/indices

新建索引。

删除索引

DELETE /ges/v1.0/{project_id}/graphs/{graph_name}/indices/{indexName}

删除索引。

查询索引

GET /ges/v1.0/{project_id}/graphs/{graph_name}/indices

查询索引。

表5 Gremlin操作API

名称

URL

功能描述

执行Gremlin查询

POST /ges/v1.0/{project_id}/graphs/{graph_name}/action?action_id=execute-gremlin-query

执行Gremlin查询。

表6 算法API

名称

URL

功能描述

执行算法

POST /ges/v1.0/{project_id}/graphs/{graph_name}/action?action_id=execute-algorithm

执行算法。

表7 动态图分析API

名称

URL

功能描述

动态群体演化(temporal_graph)

POST /ges/v1.0/{project_id}/graphs/{graph_name}/dynamicgraphs/action?action_id=execute-analysis

针对包含某些节点的群体,结合时间轴观察其结构的动态演化过程 。

动态拓展(temporal_bfs)

POST /ges/v1.0/{project_id}/graphs/{graph_name}/dynamicgraphs/action?action_id=execute-analysis

指定某个起始节点id,结合消息传递时间递增和BFS遍历顺序(Temporal BFS算法),搜索周围与之相关联的点,输出对应各节点的到达时间,以及与源起点之间的距离。

时序路径分析(Temporal Paths)

POST /ges/v1.0/{project_id}/graphs/{graph_name}/dynamicgraphs/action?action_id=execute-analysis

根据输入参数,执行时序路径分析算法。两点之间仅返回一条满足条件的时序路径。

表8 路径API

名称

URL

功能描述

查询路径详情

POST /ges/v1.0/{project_id}/graphs/{graph_name}/paths/action?action_id=query-detail

查询路径详情。

查询树详情

POST /ges/v1.0/{project_id}/graphs/{graph_name}/action?action_id=query-tree

输入一个点,输出以该点为起点的一棵树, 包括树中的节点和边,以及可达路径信息。参数可以为方向(出、入、出和入)、最大跳数和需要过滤的边属性等。

Repeat-query API

POST /ges/v1.0/{project_id}/graphs/{graph_name}/action?action_id=repeat-query

该接口用于按某些退出条件来循环执行遍历查询。

表9 图统计API

名称

URL

功能描述

查询图概要信息

GET /ges/v1.0/{project_id}/graphs/{graph_name}/summary

查询图概要信息。

查询图版本

GET /ges/v1.0/{project_id}/graphs/{graph_name}/version

查询图版本。

表10 图操作API

名称

URL

功能描述

导入图

POST /ges/v1.0/{project_id}/graphs/{graph_name}/action?action_id= import-graph

导入图数据 。

导出图

POST /ges/v1.0/{project_id}/graphs/{graph_name}/action?action_id=export-graph

导出图数据。

清空图

POST /ges/v1.0/{project_id}/graphs/{graph_name}/action?action_id=clear-graph

清空图数据。

表11 子图操作API

名称

URL

功能描述

子图查询

POST/ges/v1.0/{project_id}/graphs/{graph_name}/subgraphs/action?action_id=query

查询输入的节点和它们之间所有边所构成的子图。

执行子图算法

POST /ges/v1.0/{project_id}/graphs/{graph_name}/subgraphs/action?action_id=execute-algorithm

根据输入调整子图生成方式,在生成的子图上,执行特定算法。

表12 Job管理API

名称

URL

功能描述

查询Job状态

GET/ges/v1.0/{project_id}/graphs/{graph_name}/jobs/{job_id}/status?offset=offset&limit=limit

查询Job状态。

取消Job

DELETE https://Endpoint/ges/v1.0/{project_id}/graphs/{graph_name}/jobs/{job_id}

取消Job。

导出job返回结果到文件

POST /ges/v1.0/{project_id}/graphs/{graph_name}/jobs/{job_id}/action?action_id=export-result

用于将异步任务(job_id)的执行结果(result)导出到文件。

查询job列表

GET /ges/v1.0/{project_id}/graphs/{graph_name}/jobs/status?limit={limit}&offset={offset}

异步任务jobId返回后,若jobId业务层丢失无法通过接口重新获取,现在提供一个新的接口用于查询engine中保存的所有异步任务,返回每个任务的jobId、job状态、原始请求。

表13 自定义操作API

名称

URL

功能描述

执行自定义操作

POST /ges/v1.0/{project_id}/graphs/{graph_name}/action?action_id=execute-operation

查询Job状态。

表14 细粒度权限控制API

名称

URL

功能描述

授权

POST /ges/v1.0/{project_id}/graphs/{graph_name}/rbac/action?action_id=grant

进行细粒度授权。

取消授权

POST /ges/v1.0/{project_id}/graphs/{graph_name}/rbac/action?action_id=revoke

取消授权。

查询授权

GET /ges/v1.0/{project_id}/graphs/{graph_name}/rbac

查询当前用户拥有的所有Label/属性权限。

表15 运维监控API

名称

URL

功能描述

查看监控指标

GET /ges/v1.0/{project_id}/graphs/{graph_name}/om/metrics?real_time=&with_performance_metrics=

查看监控指标,支持节点指标和图实例性能监控指标。

查看实时请求

GET/ges/v1.0/{project_id}/graphs/{graph_name}/om/real-time-queries?summary=

查看当前主节点上的实时请求。

表16 其他业务面API

名称

URL

功能描述

Cypher操作API

POST /ges/v1.0/{project_id}/graphs/{graph_name}/action?action_id=execute-cypher-query

使用Cypher语句可以查询GES中的数据,并返回结果

Filtered-query API

POST /ges/v1.0/{project_id}/graphs/{graph_name}/action?action_id=filtered-query

对k跳过程进行逐层过滤,列出满足过滤条件的第k跳节点或边。

Filtered-query V2

POST /ges/v1.0/{project_id}/graphs/{graph_name}/action?action_id=path-query

第二代filtered query。支持filtered query API和repeat query API共同的功能。

DSL查询API

POST /ges/v1.0/{project_id}/graphs/{graph_name}/action?action_id=algorithm-query

提供灵活,可控的DSL帮助用户低成本设计并运行算法。

通过导入文件更新点边的指定属性

POST /v1.0/{project_id}/graphs/{graph_name}/action?action_id=import-properties

通过导入文件更新点边的指定属性。

通过读取文件删除点边

POST /v1.0/{project_id}/graphs/{graph_name}/action?action_id=delete-by-file

通过读取文件删除点边。