feat: Add property descriptions support to Neptune graph classes #707
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Problem
When working with Neptune graphs in LangChain applications, the auto-generated schema lacks meaningful descriptions for node and edge properties. This makes it difficult for LLMs to understand the semantic meaning of properties, leading to suboptimal query generation and reduced accuracy in graph-based RAG applications.
Solution
Add optional
property_descriptionsparameter to Neptune graph classes that allows users to inject custom descriptions for specific properties in the schema output.API Design
Usage Patterns
Implementation Details
property_descriptionsparameter toBaseNeptuneGraph,NeptuneGraph, andNeptuneAnalyticsGraph_inject_property_descriptions()helper method in base classIntegration Considerations
Note: This addresses a common pain point when using Neptune graphs with LLMs, where property names like
emp_dtororg_idlack semantic context needed for accurate query generation.