incubator-hugegraph
incubator-hugegraph copied to clipboard
[Feature Summary] Enhancement and optimization OLTP algorithm & api
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
- [x] Integrate DFS query mode into the
Kout
algorithm code link - [ ] Implement support for batch processing and concurrent execution using multiple threads
- [ ] Add the related doc in website