The Struc2Vec Walk is a biased random walk. This is one of the crucial componments of the Struc2Vec framework, where the walk is performed in a constructed multilayer weighted graph rather than the original graph. Please refer to the Struc2Vec algorithm for the details.
algo(random_walk_struc2vec)Name | Type | Spec | Default | Optional | Description |
|---|---|---|---|---|---|
| ids / uuids | []_id / []_uuid | / | / | Yes | ID/UUID of nodes to start random walks; start from all nodes if not set |
| walk_length | int | ≧1 | 1 | Yes | Depth of each walk, i.e., the number of nodes to visit |
| walk_num | int | ≧1 | 1 | Yes | Number of walks to perform for each specified node |
| k | int | [1, 10] | / | No | Number of layers of the constructed multilayer weighted graph, which should not exceed the diameter of the original graph |
| stay_probability | float | (0,1] | / | No | The probability of walking in the current level |
| limit | int | ≧-1 | -1 | Yes | Number of results to return, -1 to return all results |
The example graph is as follows:

Spec | Content | Description |
|---|---|---|
| filename | _id,_id,... | IDs of visited nodes |
UQLalgo(random_walk_struc2vec).params({ walk_length: 5, walk_num: 1, k: 4, stay_probability: 0.8 }).write({ file:{ filename: 'walks' }})
Results: File walks
FileJ,G,I,G, I,H,I,H,G, H,G,H,I,H, G,H,I,G, F,G,H,I,H, E,C,B,C, D,C,E,F,G, C,E,C,A,C, B,A,D,E, A,B,A,D,
| Alias Ordinal | Type | Description | Columns |
|---|---|---|---|
| 0 | []perWalk | Array of UUIDs of visited nodes | [_uuid, _uuid, ...] |
UQLalgo(random_walk_struc2vec).params({ ids: ['J'], walk_length: 6, walk_num: 3, k: 4, stay_probability: 0.8 }) as walks return walks
Results: walks
| [10, 6, 3, 6] |
| [10, 7, 6, 5, 6, 5] |
| [10, 7, 10, 7, 6, 7] |
| Alias Ordinal | Type | Description | Columns |
|---|---|---|---|
| 0 | []perWalk | Array of UUIDs of visited nodes | [_uuid, _uuid, ...] |
UQLalgo(random_walk_struc2vec).params({ ids: ['J'], walk_length: 6, walk_num: 30, k: 5, stay_probability: 0.7 }).stream() as walks where size(walks) == 6 return walks
Results: walks
| [10, 7, 6, 5, 3, 4] |
| [10, 7, 8, 7, 6, 5] |
| [10, 7, 6, 4, 6, 7] |