apache / apache/hugegraph

[Feature Summary] Enhancement and optimization OLTP algorithm & api

Open
#2,276 0 comments 3 reactions 0 assignees View on GitHub
feature
Dominant language
Java
Stars
3.2k
Forks
636
Avg merge
3d 11h
Merged PRs (30d)
14

Description

### Feature Description (功能描述)

# Background

HugeGraph provides interfaces for querying through RESTful APIs. However, in the current RESTful API corresponding to the OLTP algorithms, both the algorithms and functionalities are not yet fully complete and require further expansion. There is also room for optimization in the execution of the algorithm. Therefore, in this feature implementation, we have set the following objectives:

- Provide more comprehensive query result information and details about algorithm execution
- Enhance algorithm execution efficiency through techniques such as pruning and parallelization

In the existing HugeGraph framework, the OLTP algorithm corresponds to the following interfaces, all of which will be subject to modification:

| OLTP APIs |
| ------------------------------- |
| Kout Get |
| Kout Post |
| Kneighbor Get |
| Kneighbor Post |
| Sameneighbors Get |
| Sameneighbors Post |
| Jaccard Similarity Get |
| Jaccard Similarity Post |
| Shortest Path Get |
| All Shortest Paths Get |
| Weighted Shortest Path Get |
| Single Source Shortest Path Get |
| Multi Node Shortest Path Post |
| Paths Get |
| Paths Post |
| Customized Paths Post |
| Template Paths Post |
| Crosspoints Get |
| Customized Crosspoints Post |
| Rings Get |
| Rays Get |
| Fusiform Similarity Post |

# Tasks

- [x] Enhance all OLTP algorithm APIs by adding statistical information, including the number of traversed vertices, edges, and execution time #2262
- [x] Enable support for returning partial/complete information of vertices and edges in all OLTP algorithm APIs #2262
- [x] Provide support for filtering vertex and edge properties in OLTP algorithm APIs, reducing unnecessary graph searches through pruning [code link](https://github.com/DanGuge/incubator-hugegraph/tree/ve_kout_dfs)
- [x] Integrate DFS query mode into the `Kout` algorithm [code link](https://github.com/DanGuge/incubator-hugegraph/tree/ve_kout_dfs)
- [ ] Implement support for batch processing and concurrent execution using multiple threads
- [ ] Add the related doc in website

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.