概述
诱导子图(Induced Subgraph)算法可以根据一组给定的节点计算出相应的诱导子图,它提供了一种深入了解所选节点子集中的局部结构和交互的方法。
基本概念
诱导子图
诱导子图仅包括给定集合中的节点以及连接这些节点的边。
![](https://img.ultipa.cn/draw/draw_2044bf57a80e4696a943ed9e77ce416c.jpg?v='1685497373767')
如上例所示,指定节点集S={A, B, I, K, L, M, N}的诱导子图包括节点集S以及两端点均在节点集S中的所有边构成的边集。
嬴图的诱导子图算法返回的是诱导子图中的所有一步路径。
特殊说明
- 诱导子图算法忽略边的方向,按照无向边进行计算。
语法
- 命令:
algo(subgraph)
- 参数:
名称 |
类型 |
规范 |
默认 |
可选 |
描述 |
---|---|---|---|---|---|
ids / uuids | []_id / []_uuid |
/ | / | 否 | 待计算节点的ID/UUID |
limit | int | ≥-1 | -1 |
是 | 返回的结果条数,-1 返回所有结果 |
示例
示例图如下:
![](https://img.ultipa.cn/draw/draw_415c38e4a8224988bbaad1c45bb7c5fc.jpg?v='1685498592253')
文件回写
配置项 |
回写内容 |
描述 |
---|---|---|
filename | _id--[_uuid]--_id |
诱导子图中的一步路径:(起点)--(边)--(终点) |
algo(subgraph).params({
ids: ['A','C','D','G']
}).write({
file:{
filename: 'paths'
}
})
结果:文件paths
C--[102]--A
C--[105]--D
D--[107]--A
D--[106]--A
G--[109]--G
直接返回
别名序号 |
类型 |
描述 |
---|---|---|
0 | []path | 诱导子图中的一步路径:_uuid (起点) -- [_uuid ] (边) -- _uuid (终点) |
algo(subgraph).params({
ids: ['A','C','D','G']
}) as subgraph
return subgraph
结果:subgraph
3--[102]--1 |
3--[105]--4 |
4--[107]--1 |
4--[106]--1 |
7--[109]--7 |
流式返回
别名序号 |
类型 |
描述 |
---|---|---|
0 | []path | 诱导子图中的一步路径:_uuid (起点) -- [_uuid ] (边) -- _uuid (终点) |
algo(subgraph).params({
uuids: [6,7]
}).stream() as p
with pedges(p) as e
find().edges(e) as edges
return max(edges.score)
结果:5