camel
camel copied to clipboard
feat: Graph sampling with Neo4j
Description
Implement graph sampling methods for GraphRAG pipeline, this is supported by Neo4j
Random walk with restart - taking random walks from a set of start nodes.
Common Neighbour Aware Random Walk - avoids getting caught in local loops. This is especially useful for graphs with solid dense regions.
refer: https://neo4j.com/docs/graph-data-science/current/management-ops/graph-creation/sampling/?utm_source=Google&utm_medium=PaidSearch&utm_campaign=Evergreen&utm_content=EMEA-Search-SEMCE-DSA-None-SEM-SEM-NonABM&utm_term=&utm_adgroup=DSA&gad_source=1&gbraid=0AAAAADk9OYoZ9TwCfgKACGs9UcIqy5mjS
Motivation and Context
close #737
- [x] I have raised an issue to propose this change (required for new features and bug fixes)
Types of changes
What types of changes does your code introduce? Put an x
in all the boxes that apply:
- [ ] Bug fix (non-breaking change which fixes an issue)
- [ ] New feature (non-breaking change which adds core functionality)
- [ ] Breaking change (fix or feature that would cause existing functionality to change)
- [ ] Documentation (update in the documentation)
- [ ] Example (update in the folder of example)
Implemented Tasks
- [ ] Subtask 1
- [ ] Subtask 2
- [ ] Subtask 3
Checklist
Go over all the following points, and put an x
in all the boxes that apply.
If you are unsure about any of these, don't hesitate to ask. We are here to help!
- [ ] I have read the CONTRIBUTION guide. (required)
- [ ] My change requires a change to the documentation.
- [ ] I have updated the tests accordingly. (required for a bug fix or a new feature)
- [ ] I have updated the documentation accordingly.