Commit 44db678
feat(graph): Flexible Schema Extension to SpannerGraphStore (#125)
* Extension to SpannerGraphStore
- Allow a dynamic schema for nodes and edges:
- nodes are stored in one table with dynamic label and properties (JSON)
- Allow more than one (src.node.id, target.node.id, edge.type) by
introducing a uuid as part of the key;
- Prefix the table names with graph names to avoid conflicting.
* Fix linters
* Update notebook for illustrate flexible schema
* Remove the uuid key
* Resolve comments
* Avoid unnecessary overwrites based on the specified properties
Previously, we override all columns by schema;
with this change, we selectively write specified columns.
Note:
- this won't change the behavior if you always do a full blind write;
* Address comments
* Minor updates to the interface
* Add agent info for usage tracking
* Update src/langchain_google_spanner/graph_store.py
---------
Co-authored-by: Averi Kitsch <akitsch@google.com>1 parent f78b9ee commit 44db678
4 files changed
Lines changed: 1052 additions & 901 deletions
File tree
- docs
- src/langchain_google_spanner
- tests/integration
0 commit comments